<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DGRv2: ns3::Ipv4DGRRouting Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">DGRv2<span id="projectnumber">&#160;2-dev</span>
   </div>
   <div id="projectbrief">A Delay-Guaranteed Routing Protocol model in ns-3</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d3/d71/classns3_1_1_ipv4_d_g_r_routing.html','../../'); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../dc/db7/classns3_1_1_ipv4_d_g_r_routing-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">ns3::Ipv4DGRRouting Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Global routing protocol for IPv4 stacks.  
 <a href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="../../closed.png" alt="+"/> Inheritance diagram for ns3::Ipv4DGRRouting:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d7/d85/classns3_1_1_ipv4_d_g_r_routing__inherit__graph.png" border="0" usemap="#ans3_1_1_ipv4_d_g_r_routing_inherit__map" alt="Inheritance graph"/></div>
<map name="ans3_1_1_ipv4_d_g_r_routing_inherit__map" id="ans3_1_1_ipv4_d_g_r_routing_inherit__map">
<area shape="rect" title="Global routing protocol for IPv4 stacks." alt="" coords="5,79,165,104"/>
<area shape="rect" href="../../de/d90/class_ipv4_routing_protocol.html" title=" " alt="" coords="9,5,162,31"/>
<area shape="poly" title=" " alt="" coords="88,44,88,79,83,79,83,44"/>
</map>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="../../closed.png" alt="+"/> Collaboration diagram for ns3::Ipv4DGRRouting:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d2/d79/classns3_1_1_ipv4_d_g_r_routing__coll__graph.png" border="0" usemap="#ans3_1_1_ipv4_d_g_r_routing_coll__map" alt="Collaboration graph"/></div>
<map name="ans3_1_1_ipv4_d_g_r_routing_coll__map" id="ans3_1_1_ipv4_d_g_r_routing_coll__map">
<area shape="rect" title="Global routing protocol for IPv4 stacks." alt="" coords="2225,410,2385,435"/>
<area shape="rect" href="../../de/d90/class_ipv4_routing_protocol.html" title=" " alt="" coords="1796,118,1949,143"/>
<area shape="poly" title=" " alt="" coords="1939,113,1999,105,2069,105,2104,109,2139,117,2172,130,2203,149,2233,177,2256,211,2274,248,2287,287,2302,359,2306,409,2301,410,2297,360,2282,288,2269,250,2252,213,2229,180,2200,153,2170,135,2138,122,2103,114,2068,110,2000,110,1939,118"/>
<area shape="rect" title=" " alt="" coords="1847,179,1898,205"/>
<area shape="poly" title=" " alt="" coords="1912,191,2078,202,2158,210,2203,222,2227,242,2247,266,2276,319,2295,371,2304,409,2299,410,2290,372,2272,321,2242,269,2223,245,2200,226,2157,216,2078,207,1912,196"/>
<area shape="rect" title=" " alt="" coords="1757,229,1988,254"/>
<area shape="poly" title=" " alt="" coords="2002,240,2118,249,2168,258,2203,271,2240,302,2269,341,2290,379,2302,409,2297,411,2285,382,2265,344,2236,306,2200,276,2166,263,2118,255,2002,246"/>
<area shape="rect" title=" " alt="" coords="980,113,1172,153"/>
<area shape="poly" title=" " alt="" coords="1186,153,1446,205,1758,263,1826,272,1884,276,1985,279,2033,282,2084,291,2139,307,2203,332,2231,349,2258,370,2295,408,2292,412,2254,374,2228,353,2200,337,2137,312,2083,296,2033,288,1985,284,1884,282,1825,277,1757,268,1445,210,1185,158"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html" title="A record of an IPv4 routing table entry for Ipv4GlobalRouting and Ipv4StaticRouting." alt="" coords="543,55,737,95"/>
<area shape="poly" title=" " alt="" coords="751,85,956,112,980,115,979,121,956,117,751,90"/>
<area shape="rect" title=" " alt="" coords="176,13,279,38"/>
<area shape="poly" title=" " alt="" coords="292,29,506,52,543,57,542,62,505,57,292,34"/>
<area shape="rect" title=" " alt="" coords="185,62,270,87"/>
<area shape="poly" title=" " alt="" coords="284,72,543,72,543,77,284,77"/>
<area shape="rect" title=" " alt="" coords="190,294,265,319"/>
<area shape="poly" title=" " alt="" coords="254,283,293,251,304,239,317,228,345,217,370,212,417,212,438,213,460,210,481,201,503,185,514,168,515,150,516,131,527,112,553,93,557,97,531,115,522,133,520,151,519,170,507,188,484,206,461,215,439,218,417,218,371,218,346,222,320,233,308,243,297,255,258,287"/>
<area shape="rect" title=" " alt="" coords="1381,371,1568,411"/>
<area shape="poly" title=" " alt="" coords="278,296,318,292,412,290,505,292,839,294,985,298,1172,309,1225,310,1268,310,1309,315,1359,332,1371,344,1383,355,1409,368,1406,373,1380,359,1368,347,1356,337,1308,320,1267,315,1225,316,1172,315,985,303,839,299,505,297,412,295,319,297,278,302"/>
<area shape="rect" title=" " alt="" coords="565,315,715,355"/>
<area shape="poly" title=" " alt="" coords="278,307,565,327,564,332,278,313"/>
<area shape="rect" title=" " alt="" coords="555,436,725,476"/>
<area shape="poly" title=" " alt="" coords="268,323,319,343,371,355,413,359,455,364,506,379,563,405,611,434,608,438,560,410,504,384,454,370,412,364,370,360,318,348,266,328"/>
<area shape="rect" title=" " alt="" coords="563,501,717,526"/>
<area shape="poly" title=" " alt="" coords="245,330,287,399,320,445,363,463,426,479,564,502,563,507,424,484,361,468,317,449,283,402,241,333"/>
<area shape="rect" title=" " alt="" coords="358,106,466,131"/>
<area shape="poly" title=" " alt="" coords="480,118,529,119,980,129,980,134,529,124,480,123"/>
<area shape="rect" title=" " alt="" coords="5,135,44,161"/>
<area shape="poly" title=" " alt="" coords="57,143,358,120,358,125,58,148"/>
<area shape="rect" title=" " alt="" coords="160,429,295,454"/>
<area shape="poly" title=" " alt="" coords="58,161,69,167,89,174,106,178,122,184,138,198,149,216,155,232,157,262,155,293,163,330,190,385,218,427,214,430,186,388,157,332,150,294,151,262,150,233,144,218,134,202,120,188,105,183,88,179,67,172,55,166"/>
<area shape="rect" title=" " alt="" coords="1823,333,1922,358"/>
<area shape="poly" title=" " alt="" coords="1936,346,2060,357,2131,367,2202,381,2277,407,2275,412,2201,387,2130,372,2059,362,1936,351"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html" title="The DGR neighbor status database." alt="" coords="1816,382,1929,407"/>
<area shape="poly" title=" " alt="" coords="1943,396,2225,415,2225,420,1942,402"/>
<area shape="rect" href="../../d8/d83/class_object.html" title=" " alt="" coords="1443,321,1507,346"/>
<area shape="poly" title=" " alt="" coords="1521,337,1734,369,1816,383,1815,388,1733,375,1520,342"/>
<area shape="poly" title=" " alt="" coords="1582,389,1816,391,1816,397,1582,394"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html" title=" " alt="" coords="983,325,1169,350"/>
<area shape="poly" title=" " alt="" coords="1183,349,1382,376,1381,381,1183,354"/>
<area shape="poly" title=" " alt="" coords="729,333,983,334,982,339,729,338"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html" title=" " alt="" coords="167,217,288,242"/>
<area shape="poly" title=" " alt="" coords="301,242,506,292,576,312,574,317,505,297,300,248"/>
<area shape="rect" title=" " alt="" coords="5,218,44,243"/>
<area shape="poly" title=" " alt="" coords="57,228,167,227,167,232,58,233"/>
<area shape="poly" title=" " alt="" coords="308,434,529,421,1009,402,1381,391,1381,396,1009,408,529,427,309,439"/>
<area shape="poly" title=" " alt="" coords="308,426,504,394,516,386,528,378,583,352,585,357,531,382,519,391,506,398,308,431"/>
<area shape="poly" title=" " alt="" coords="273,459,297,477,305,489,308,500,311,510,320,518,369,540,411,547,454,539,504,518,512,511,515,504,519,495,528,486,553,472,556,477,531,490,524,498,520,506,516,515,507,522,456,544,411,552,367,545,317,522,307,513,303,502,300,491,293,480,269,463"/>
<area shape="rect" title=" " alt="" coords="5,461,44,486"/>
<area shape="poly" title=" " alt="" coords="57,466,159,449,160,455,58,471"/>
<area shape="rect" title=" " alt="" coords="173,491,282,517"/>
<area shape="poly" title=" " alt="" coords="57,487,69,491,122,500,173,503,172,508,121,505,67,496,56,492"/>
<area shape="poly" title=" " alt="" coords="739,451,1075,447,1874,447,2063,440,2225,428,2225,433,2064,446,1874,452,1075,452,739,456"/>
<area shape="rect" title=" " alt="" coords="171,598,284,623"/>
<area shape="poly" title=" " alt="" coords="278,625,319,635,408,648,478,653,639,653,1874,653,2042,659,2135,655,2172,647,2200,635,2224,614,2245,589,2261,561,2274,532,2292,476,2300,435,2305,436,2297,477,2279,534,2266,564,2249,592,2228,618,2203,640,2174,652,2135,660,2042,665,1874,659,639,659,478,659,408,653,318,640,277,630"/>
<area shape="poly" title=" " alt="" coords="297,597,318,593,415,587,468,580,489,574,504,566,511,557,515,548,515,529,516,508,520,497,527,486,553,469,556,473,531,490,524,499,521,509,521,529,520,549,516,560,507,570,491,579,469,586,416,593,319,599,298,602"/>
<area shape="rect" title=" " alt="" coords="1837,543,1908,569"/>
<area shape="poly" title=" " alt="" coords="1922,565,1981,575,2052,580,2128,574,2165,565,2200,551,2235,526,2263,494,2283,461,2296,434,2301,437,2288,463,2267,497,2238,530,2203,556,2167,570,2129,579,2052,585,1980,580,1921,570"/>
<area shape="rect" title=" " alt="" coords="1845,593,1900,618"/>
<area shape="poly" title=" " alt="" coords="1914,614,1973,626,2047,633,2087,632,2126,627,2164,617,2200,600,2222,584,2241,564,2270,517,2289,470,2299,435,2304,437,2294,472,2275,519,2245,567,2226,588,2203,605,2166,622,2127,632,2087,638,2047,639,1972,632,1913,619"/>
<area shape="poly" title=" " alt="" coords="730,510,1096,504,1568,491,1778,480,1988,465,2095,461,2142,458,2201,449,2266,433,2267,438,2202,455,2142,463,2095,467,1988,471,1778,485,1568,496,1096,510,731,515"/>
<area shape="poly" title=" " alt="" coords="250,526,320,608,369,626,411,631,453,624,504,608,542,591,576,568,625,524,629,528,579,572,544,596,506,613,454,629,411,636,368,632,317,613,246,529"/>
<area shape="rect" title=" " alt="" coords="1765,694,1981,719"/>
<area shape="poly" title=" " alt="" coords="1937,719,1998,728,2067,729,2102,725,2137,717,2170,705,2200,687,2229,660,2251,628,2269,592,2282,555,2296,485,2301,435,2306,436,2302,485,2287,556,2274,594,2256,631,2233,664,2203,691,2172,710,2138,722,2103,730,2067,734,1997,733,1937,725"/>
</map>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aec9dd007650cdc339cc98cfd210ebe22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aec9dd007650cdc339cc98cfd210ebe22">Ipv4DGRRouting</a> ()</td></tr>
<tr class="memdesc:aec9dd007650cdc339cc98cfd210ebe22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an empty Ipv4GlobalRouting routing protocol,.  <br /></td></tr>
<tr class="separator:aec9dd007650cdc339cc98cfd210ebe22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a721c9a4f9f12805a8c68f2972bbe2e9c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a721c9a4f9f12805a8c68f2972bbe2e9c">~Ipv4DGRRouting</a> ()</td></tr>
<tr class="separator:a721c9a4f9f12805a8c68f2972bbe2e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b9f168bd3285ed47b5c5f1f59f847b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a94b9f168bd3285ed47b5c5f1f59f847b">AddASExternalRouteTo</a> (Ipv4Address network, Ipv4Mask networkMask, Ipv4Address nextHop, uint32_t interface)</td></tr>
<tr class="memdesc:a94b9f168bd3285ed47b5c5f1f59f847b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an external route to the global routing table.  <br /></td></tr>
<tr class="separator:a94b9f168bd3285ed47b5c5f1f59f847b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff852295cbcf0faf17da98100b6d04ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aff852295cbcf0faf17da98100b6d04ab">AddHostRouteTo</a> (Ipv4Address dest, Ipv4Address nextHop, uint32_t interface)</td></tr>
<tr class="memdesc:aff852295cbcf0faf17da98100b6d04ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a host route to the global routing table.  <br /></td></tr>
<tr class="separator:aff852295cbcf0faf17da98100b6d04ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad885ac0c786c4534adf30cfe4e252dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aad885ac0c786c4534adf30cfe4e252dd">AddHostRouteTo</a> (Ipv4Address dest, Ipv4Address nextHop, uint32_t interface, uint32_t nextInterface, uint32_t distance)</td></tr>
<tr class="memdesc:aad885ac0c786c4534adf30cfe4e252dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a host route to the global routing table with the distance between root and destination.  <br /></td></tr>
<tr class="separator:aad885ac0c786c4534adf30cfe4e252dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c0d5ec9bcd3ef52d811baac3c178e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#ae1c0d5ec9bcd3ef52d811baac3c178e0">AddHostRouteTo</a> (Ipv4Address dest, uint32_t interface)</td></tr>
<tr class="memdesc:ae1c0d5ec9bcd3ef52d811baac3c178e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a host route to the global routing table.  <br /></td></tr>
<tr class="separator:ae1c0d5ec9bcd3ef52d811baac3c178e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf886686054aa6dfa4779ce25b4ee21a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aaf886686054aa6dfa4779ce25b4ee21a">AddNetworkRouteTo</a> (Ipv4Address network, Ipv4Mask networkMask, Ipv4Address nextHop, uint32_t interface)</td></tr>
<tr class="memdesc:aaf886686054aa6dfa4779ce25b4ee21a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a network route to the global routing table.  <br /></td></tr>
<tr class="separator:aaf886686054aa6dfa4779ce25b4ee21a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf9ab62c2bdc32fa7358ad9418442314"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#abf9ab62c2bdc32fa7358ad9418442314">AddNetworkRouteTo</a> (Ipv4Address network, Ipv4Mask networkMask, uint32_t interface)</td></tr>
<tr class="memdesc:abf9ab62c2bdc32fa7358ad9418442314"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a network route to the global routing table.  <br /></td></tr>
<tr class="separator:abf9ab62c2bdc32fa7358ad9418442314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54fc1b9c309b92d6d2e6c193752eb4bc"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a54fc1b9c309b92d6d2e6c193752eb4bc">AssignStreams</a> (int64_t stream)</td></tr>
<tr class="memdesc:a54fc1b9c309b92d6d2e6c193752eb4bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build the routing database by gathering Link State Advertisements from each node exporting a <a class="el" href="../../d0/d56/classns3_1_1_d_g_r_router.html" title="An interface aggregated to a node to provide global routing info.">DGRRouter</a> interface.  <br /></td></tr>
<tr class="separator:a54fc1b9c309b92d6d2e6c193752eb4bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bb01e6d6468d3c42a989434c193b372"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0bb01e6d6468d3c42a989434c193b372">DoInitialize</a> () override</td></tr>
<tr class="memdesc:a0bb01e6d6468d3c42a989434c193b372"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start protocol operation.  <br /></td></tr>
<tr class="separator:a0bb01e6d6468d3c42a989434c193b372"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3558caabfea9b5e9f27ccea4bb2b6603"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a3558caabfea9b5e9f27ccea4bb2b6603">GetNRoutes</a> (void) const</td></tr>
<tr class="memdesc:a3558caabfea9b5e9f27ccea4bb2b6603"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of individual unicast routes that have been added to the routing table.  <br /></td></tr>
<tr class="separator:a3558caabfea9b5e9f27ccea4bb2b6603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac186d277e77bbdfb2bc216691eefbbab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#ac186d277e77bbdfb2bc216691eefbbab">GetRoute</a> (uint32_t <a class="el" href="../../d7/d2e/namespacens3.html#aa5e169e2453984d2f21c0d5cec9e907b">i</a>) const</td></tr>
<tr class="memdesc:ac186d277e77bbdfb2bc216691eefbbab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a route from the global unicast routing table.  <br /></td></tr>
<tr class="separator:ac186d277e77bbdfb2bc216691eefbbab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a552819000c07190404d6bd5db6d1ce84"><td class="memItemLeft" align="right" valign="top">Ptr&lt; Ipv4Route &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a552819000c07190404d6bd5db6d1ce84">LookupDGRRoute</a> (Ipv4Address dest, Ptr&lt; Packet &gt; p, Ptr&lt; const NetDevice &gt; idev=0)</td></tr>
<tr class="separator:a552819000c07190404d6bd5db6d1ce84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95ddcbfcdb50ecdb48bfd91575836fe6"><td class="memItemLeft" align="right" valign="top">Ptr&lt; Ipv4Route &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a95ddcbfcdb50ecdb48bfd91575836fe6">LookupUniRoute</a> (Ipv4Address dest, Ptr&lt; NetDevice &gt; oif=0)</td></tr>
<tr class="memdesc:a95ddcbfcdb50ecdb48bfd91575836fe6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lookup in the forwarding table for destination.  <br /></td></tr>
<tr class="separator:a95ddcbfcdb50ecdb48bfd91575836fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cdc7d3663a11b90bec029c7a3e6cba2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a9cdc7d3663a11b90bec029c7a3e6cba2">NotifyAddAddress</a> (uint32_t interface, Ipv4InterfaceAddress address)</td></tr>
<tr class="separator:a9cdc7d3663a11b90bec029c7a3e6cba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fabc015fa802a4c056cf14359ea898e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a5fabc015fa802a4c056cf14359ea898e">NotifyInterfaceDown</a> (uint32_t interface)</td></tr>
<tr class="separator:a5fabc015fa802a4c056cf14359ea898e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9715cb5895be31d03b1ffe15212fec57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a9715cb5895be31d03b1ffe15212fec57">NotifyInterfaceUp</a> (uint32_t interface)</td></tr>
<tr class="separator:a9715cb5895be31d03b1ffe15212fec57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45022db22ac734cfdde51a3a8bc0ecf1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a45022db22ac734cfdde51a3a8bc0ecf1">NotifyRemoveAddress</a> (uint32_t interface, Ipv4InterfaceAddress address)</td></tr>
<tr class="separator:a45022db22ac734cfdde51a3a8bc0ecf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0670297c54c9f0715d5d90a0cafc529d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0670297c54c9f0715d5d90a0cafc529d">PrintRoutingTable</a> (Ptr&lt; OutputStreamWrapper &gt; stream, Time::Unit unit=Time::S) const</td></tr>
<tr class="separator:a0670297c54c9f0715d5d90a0cafc529d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55aea61c57e39ba4756d22d4e646cd3e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a55aea61c57e39ba4756d22d4e646cd3e">RemoveRoute</a> (uint32_t <a class="el" href="../../d7/d2e/namespacens3.html#aa5e169e2453984d2f21c0d5cec9e907b">i</a>)</td></tr>
<tr class="memdesc:a55aea61c57e39ba4756d22d4e646cd3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a route from the global unicast routing table.  <br /></td></tr>
<tr class="separator:a55aea61c57e39ba4756d22d4e646cd3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e7c34d7e0a922980bf3fdf62f9bbe1b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7e7c34d7e0a922980bf3fdf62f9bbe1b">RouteInput</a> (Ptr&lt; const Packet &gt; p, const Ipv4Header &amp;header, Ptr&lt; const NetDevice &gt; idev, UnicastForwardCallback ucb, MulticastForwardCallback mcb, LocalDeliverCallback lcb, ErrorCallback ecb)</td></tr>
<tr class="separator:a7e7c34d7e0a922980bf3fdf62f9bbe1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa949f02ca52008f8201ee9915fdd0191"><td class="memItemLeft" align="right" valign="top">Ptr&lt; Ipv4Route &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa949f02ca52008f8201ee9915fdd0191">RouteOutput</a> (Ptr&lt; Packet &gt; p, const Ipv4Header &amp;header, Ptr&lt; NetDevice &gt; oif, Socket::SocketErrno &amp;sockerr)</td></tr>
<tr class="separator:aa949f02ca52008f8201ee9915fdd0191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a207e729e59e0539db18dd241276bf02e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a207e729e59e0539db18dd241276bf02e">SetIpv4</a> (Ptr&lt; Ipv4 &gt; ipv4)</td></tr>
<tr class="separator:a207e729e59e0539db18dd241276bf02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a036fb895e8c59952080959790ce8c665"><td class="memItemLeft" align="right" valign="top">static TypeId&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a036fb895e8c59952080959790ce8c665">GetTypeId</a> (void)</td></tr>
<tr class="memdesc:a036fb895e8c59952080959790ce8c665"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type ID.  <br /></td></tr>
<tr class="separator:a036fb895e8c59952080959790ce8c665"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a258dcb9de99bd828247e0d6c3e08793d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a258dcb9de99bd828247e0d6c3e08793d">DoDispose</a> (void) override</td></tr>
<tr class="memdesc:a258dcb9de99bd828247e0d6c3e08793d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dispose this object.  <br /></td></tr>
<tr class="separator:a258dcb9de99bd828247e0d6c3e08793d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:a6927e0c49f53e92eb4b2acaf5cfebf31"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6927e0c49f53e92eb4b2acaf5cfebf31">ASExternalRoutes</a></td></tr>
<tr class="memdesc:a6927e0c49f53e92eb4b2acaf5cfebf31"><td class="mdescLeft">&#160;</td><td class="mdescRight">container of Ipv4RoutingTableEntry (routes to external AS)  <br /></td></tr>
<tr class="separator:a6927e0c49f53e92eb4b2acaf5cfebf31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50f6d06d84b83009e0b0a8fe170bc5d1"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a50f6d06d84b83009e0b0a8fe170bc5d1">ASExternalRoutesCI</a></td></tr>
<tr class="memdesc:a50f6d06d84b83009e0b0a8fe170bc5d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">const iterator of container of Ipv4RoutingTableEntry (routes to external AS)  <br /></td></tr>
<tr class="separator:a50f6d06d84b83009e0b0a8fe170bc5d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14c8aee9a70a6fbb8f1ea784689838d2"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a14c8aee9a70a6fbb8f1ea784689838d2">ASExternalRoutesI</a></td></tr>
<tr class="memdesc:a14c8aee9a70a6fbb8f1ea784689838d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">iterator of container of Ipv4RoutingTableEntry (routes to external AS)  <br /></td></tr>
<tr class="separator:a14c8aee9a70a6fbb8f1ea784689838d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0280dbec23318b36b8c8b5a7c10510d4"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0280dbec23318b36b8c8b5a7c10510d4">HostRoutes</a></td></tr>
<tr class="memdesc:a0280dbec23318b36b8c8b5a7c10510d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">container of Ipv4RoutingTableEntry (routes to hosts)  <br /></td></tr>
<tr class="separator:a0280dbec23318b36b8c8b5a7c10510d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a619144f0acc141bc74ae09ace488009a"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a619144f0acc141bc74ae09ace488009a">HostRoutesCI</a></td></tr>
<tr class="memdesc:a619144f0acc141bc74ae09ace488009a"><td class="mdescLeft">&#160;</td><td class="mdescRight">const iterator of container of Ipv4RoutingTableEntry (routes to hosts)  <br /></td></tr>
<tr class="separator:a619144f0acc141bc74ae09ace488009a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fe42d90325ac5879408d2257ce57c47"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a8fe42d90325ac5879408d2257ce57c47">HostRoutesI</a></td></tr>
<tr class="memdesc:a8fe42d90325ac5879408d2257ce57c47"><td class="mdescLeft">&#160;</td><td class="mdescRight">iterator of container of Ipv4RoutingTableEntry (routes to hosts)  <br /></td></tr>
<tr class="separator:a8fe42d90325ac5879408d2257ce57c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f83eeb24903b910a78b02257e27327f"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7f83eeb24903b910a78b02257e27327f">NetworkRoutes</a></td></tr>
<tr class="memdesc:a7f83eeb24903b910a78b02257e27327f"><td class="mdescLeft">&#160;</td><td class="mdescRight">container of Ipv4RoutingTableEntry (routes to networks)  <br /></td></tr>
<tr class="separator:a7f83eeb24903b910a78b02257e27327f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a946d8c87ff42387b8aa817fe09bd838e"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a946d8c87ff42387b8aa817fe09bd838e">NetworkRoutesCI</a></td></tr>
<tr class="memdesc:a946d8c87ff42387b8aa817fe09bd838e"><td class="mdescLeft">&#160;</td><td class="mdescRight">const iterator of container of Ipv4RoutingTableEntry (routes to networks)  <br /></td></tr>
<tr class="separator:a946d8c87ff42387b8aa817fe09bd838e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0521ee280d49058fdcf8b38bf550dd34"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0521ee280d49058fdcf8b38bf550dd34">NetworkRoutesI</a></td></tr>
<tr class="memdesc:a0521ee280d49058fdcf8b38bf550dd34"><td class="mdescLeft">&#160;</td><td class="mdescRight">iterator of container of Ipv4RoutingTableEntry (routes to networks)  <br /></td></tr>
<tr class="separator:a0521ee280d49058fdcf8b38bf550dd34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bb30b8faec1a9afebab84881299d323"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; Ptr&lt; Socket &gt;, uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6bb30b8faec1a9afebab84881299d323">SocketList</a></td></tr>
<tr class="memdesc:a6bb30b8faec1a9afebab84881299d323"><td class="mdescLeft">&#160;</td><td class="mdescRight">One socket per interface, each bound to that interface's address (reason: for Neighbor status sensing, we need to know on which interface the messages arrive)  <br /></td></tr>
<tr class="separator:a6bb30b8faec1a9afebab84881299d323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a744cc3e33b740ef8a80775b61c1ea598"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; Ptr&lt; Socket &gt;, uint32_t &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a744cc3e33b740ef8a80775b61c1ea598">SocketListCI</a></td></tr>
<tr class="memdesc:a744cc3e33b740ef8a80775b61c1ea598"><td class="mdescLeft">&#160;</td><td class="mdescRight">socket list type const iterator  <br /></td></tr>
<tr class="separator:a744cc3e33b740ef8a80775b61c1ea598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a493660f3b2ceaf55ef8b9c89aa5966f8"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; Ptr&lt; Socket &gt;, uint32_t &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a493660f3b2ceaf55ef8b9c89aa5966f8">SocketListI</a></td></tr>
<tr class="memdesc:a493660f3b2ceaf55ef8b9c89aa5966f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">socket list type iterator  <br /></td></tr>
<tr class="separator:a493660f3b2ceaf55ef8b9c89aa5966f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:aff694e326df155e5a99a85d805b7d172"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aff694e326df155e5a99a85d805b7d172">DoSendNeighborStatusUpdate</a> (bool periodic)</td></tr>
<tr class="memdesc:aff694e326df155e5a99a85d805b7d172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sending Neighbor Status Updates on all interfaces.  <br /></td></tr>
<tr class="separator:aff694e326df155e5a99a85d805b7d172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa29a1573985386ddcc0c9616ab524836"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa29a1573985386ddcc0c9616ab524836">HandleResponses</a> (<a class="el" href="../../d1/de8/classns3_1_1_dgr_header.html">DgrHeader</a> hdr, Ipv4Address senderAddress, uint32_t incomingInterface, uint8_t hopLimit)</td></tr>
<tr class="memdesc:aa29a1573985386ddcc0c9616ab524836"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle DGR responses.  <br /></td></tr>
<tr class="separator:aa29a1573985386ddcc0c9616ab524836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eb8a683180ce3d3726767f5b986e3d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a2eb8a683180ce3d3726767f5b986e3d8">Receive</a> (Ptr&lt; Socket &gt; socket)</td></tr>
<tr class="memdesc:a2eb8a683180ce3d3726767f5b986e3d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive an DGR message.  <br /></td></tr>
<tr class="separator:a2eb8a683180ce3d3726767f5b986e3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6b4896c7a02fc5b54a1d945f983f66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0c6b4896c7a02fc5b54a1d945f983f66">SendTriggeredNeighborStatusUpdate</a> ()</td></tr>
<tr class="memdesc:a0c6b4896c7a02fc5b54a1d945f983f66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send Triggered Routing Updates on all interfaces.  <br /></td></tr>
<tr class="separator:a0c6b4896c7a02fc5b54a1d945f983f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a238052760f17cb9a493e98ef38b6de8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a238052760f17cb9a493e98ef38b6de8f">SendUnsolicitedUpdate</a> ()</td></tr>
<tr class="memdesc:a238052760f17cb9a493e98ef38b6de8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send Unsolicited neighbor status information Updates on all interfaces.  <br /></td></tr>
<tr class="separator:a238052760f17cb9a493e98ef38b6de8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3a1304dc7321af8536c44840257b8f50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6927e0c49f53e92eb4b2acaf5cfebf31">ASExternalRoutes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a3a1304dc7321af8536c44840257b8f50">m_ASexternalRoutes</a></td></tr>
<tr class="memdesc:a3a1304dc7321af8536c44840257b8f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">External routes imported.  <br /></td></tr>
<tr class="separator:a3a1304dc7321af8536c44840257b8f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f4dd2543d12d9466bbd7b6131e0580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0280dbec23318b36b8c8b5a7c10510d4">HostRoutes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a93f4dd2543d12d9466bbd7b6131e0580">m_hostRoutes</a></td></tr>
<tr class="memdesc:a93f4dd2543d12d9466bbd7b6131e0580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Routes to hosts.  <br /></td></tr>
<tr class="separator:a93f4dd2543d12d9466bbd7b6131e0580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04c3b50d4a0ccec4f1422d0af4410b8f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a04c3b50d4a0ccec4f1422d0af4410b8f">m_initialized</a></td></tr>
<tr class="memdesc:a04c3b50d4a0ccec4f1422d0af4410b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag to allow socket's late-creation.  <br /></td></tr>
<tr class="separator:a04c3b50d4a0ccec4f1422d0af4410b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8656e82eb3ad70826fc72f14d85bfab6"><td class="memItemLeft" align="right" valign="top">std::set&lt; uint32_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a8656e82eb3ad70826fc72f14d85bfab6">m_interfaceExclusions</a></td></tr>
<tr class="memdesc:a8656e82eb3ad70826fc72f14d85bfab6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of excluded interfaces.  <br /></td></tr>
<tr class="separator:a8656e82eb3ad70826fc72f14d85bfab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b78bce24115ecebf085e0c7c1f43583"><td class="memItemLeft" align="right" valign="top">Ptr&lt; Ipv4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a3b78bce24115ecebf085e0c7c1f43583">m_ipv4</a></td></tr>
<tr class="memdesc:a3b78bce24115ecebf085e0c7c1f43583"><td class="mdescLeft">&#160;</td><td class="mdescRight">associated IPv4 instance  <br /></td></tr>
<tr class="separator:a3b78bce24115ecebf085e0c7c1f43583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77198894f24e45afcdcd80c63f02a507"><td class="memItemLeft" align="right" valign="top">Ptr&lt; Socket &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a77198894f24e45afcdcd80c63f02a507">m_multicastRecvSocket</a></td></tr>
<tr class="memdesc:a77198894f24e45afcdcd80c63f02a507"><td class="mdescLeft">&#160;</td><td class="mdescRight">multicast receive socket  <br /></td></tr>
<tr class="separator:a77198894f24e45afcdcd80c63f02a507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf7379affaf0463cb351765b3caf8dae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7f83eeb24903b910a78b02257e27327f">NetworkRoutes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#adf7379affaf0463cb351765b3caf8dae">m_networkRoutes</a></td></tr>
<tr class="memdesc:adf7379affaf0463cb351765b3caf8dae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Routes to networks.  <br /></td></tr>
<tr class="separator:adf7379affaf0463cb351765b3caf8dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab87511766c1d52fad340cb7e9031ad2"><td class="memItemLeft" align="right" valign="top">EventId&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aab87511766c1d52fad340cb7e9031ad2">m_nextTriggeredUpdate</a></td></tr>
<tr class="memdesc:aab87511766c1d52fad340cb7e9031ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Next Triggered Update event.  <br /></td></tr>
<tr class="separator:aab87511766c1d52fad340cb7e9031ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e0c7233d7c81a2ee3890506bd45e4a8"><td class="memItemLeft" align="right" valign="top">EventId&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a3e0c7233d7c81a2ee3890506bd45e4a8">m_nextUnsolicitedUpdate</a></td></tr>
<tr class="memdesc:a3e0c7233d7c81a2ee3890506bd45e4a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Next Unsolicited Update event.  <br /></td></tr>
<tr class="separator:a3e0c7233d7c81a2ee3890506bd45e4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20d3a603d150f5ce97b49bcd1028e7e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html">DgrNSDB</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a20d3a603d150f5ce97b49bcd1028e7e0">m_nsdb</a></td></tr>
<tr class="memdesc:a20d3a603d150f5ce97b49bcd1028e7e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">the Neighbor State DataBase (NSDB) of the DGR Rout  <br /></td></tr>
<tr class="separator:a20d3a603d150f5ce97b49bcd1028e7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ef824e03b0393dcad185295ef373f6"><td class="memItemLeft" align="right" valign="top">Ptr&lt; OutputStreamWrapper &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#ac1ef824e03b0393dcad185295ef373f6">m_outStream</a></td></tr>
<tr class="separator:ac1ef824e03b0393dcad185295ef373f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92e2368664df1213c26bafd520582032"><td class="memItemLeft" align="right" valign="top">Ptr&lt; UniformRandomVariable &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a92e2368664df1213c26bafd520582032">m_rand</a></td></tr>
<tr class="memdesc:a92e2368664df1213c26bafd520582032"><td class="mdescLeft">&#160;</td><td class="mdescRight">A uniform random number generator for randomly routing packets among ECMP.  <br /></td></tr>
<tr class="separator:a92e2368664df1213c26bafd520582032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3df34b3a6127f1b45c0c5406e8080226"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a3df34b3a6127f1b45c0c5406e8080226">m_randomEcmpRouting</a></td></tr>
<tr class="memdesc:a3df34b3a6127f1b45c0c5406e8080226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if packets are randomly routed among ECMP; set to false for using only one route consistently.  <br /></td></tr>
<tr class="separator:a3df34b3a6127f1b45c0c5406e8080226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89c21e449a0c76b491a29fb1e1e81eb9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a89c21e449a0c76b491a29fb1e1e81eb9">m_respondToInterfaceEvents</a></td></tr>
<tr class="memdesc:a89c21e449a0c76b491a29fb1e1e81eb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to true if this interface should respond to interface events by globallly recomputing routes.  <br /></td></tr>
<tr class="separator:a89c21e449a0c76b491a29fb1e1e81eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf002938df9649de6e46caba3212d52a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6bb30b8faec1a9afebab84881299d323">SocketList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#acf002938df9649de6e46caba3212d52a">m_unicastSocketList</a></td></tr>
<tr class="memdesc:acf002938df9649de6e46caba3212d52a"><td class="mdescLeft">&#160;</td><td class="mdescRight">list of sockets for unicast messages (socket, interface index)  <br /></td></tr>
<tr class="separator:acf002938df9649de6e46caba3212d52a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6cef6ca1b8081689f2c63246b96eacb"><td class="memItemLeft" align="right" valign="top">Time&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa6cef6ca1b8081689f2c63246b96eacb">m_unsolicitedUpdate</a></td></tr>
<tr class="memdesc:aa6cef6ca1b8081689f2c63246b96eacb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time between two Unsolicited Neighbor State Updates.  <br /></td></tr>
<tr class="separator:aa6cef6ca1b8081689f2c63246b96eacb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Global routing protocol for IPv4 stacks. </p>
<p>In ns-3 we have the concept of a pluggable routing protocol. Routing protocols are added to a list maintained by the Ipv4L3Protocol. Every stack gets one routing protocol for free &ndash; the Ipv4StaticRouting routing protocol is added in the constructor of the Ipv4L3Protocol (this is the piece of code that implements the functionality of the IP layer).</p>
<p>As an option to running a dynamic routing protocol, a GlobalRouteManager object has been created to allow users to build routes for all participating nodes. One can think of this object as a "routing oracle"; it has an omniscient view of the topology, and can construct shortest path routes between all pairs of nodes. These routes must be stored somewhere in the node, so therefore this class Ipv4GlobalRouting is used as one of the pluggable routing protocols. It is kept distinct from Ipv4StaticRouting because these routes may be dynamically cleared and rebuilt in the middle of the simulation, while manually entered routes into the Ipv4StaticRouting may need to be kept distinct.</p>
<p>This class deals with Ipv4 unicast routes only.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/d90/class_ipv4_routing_protocol.html">Ipv4RoutingProtocol</a> </dd>
<dd>
GlobalRouteManager </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00079">79</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a6927e0c49f53e92eb4b2acaf5cfebf31" name="a6927e0c49f53e92eb4b2acaf5cfebf31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6927e0c49f53e92eb4b2acaf5cfebf31">&#9670;&#160;</a></span>ASExternalRoutes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> *&gt; <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6927e0c49f53e92eb4b2acaf5cfebf31">ns3::Ipv4DGRRouting::ASExternalRoutes</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>container of Ipv4RoutingTableEntry (routes to external AS) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00305">305</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a50f6d06d84b83009e0b0a8fe170bc5d1" name="a50f6d06d84b83009e0b0a8fe170bc5d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50f6d06d84b83009e0b0a8fe170bc5d1">&#9670;&#160;</a></span>ASExternalRoutesCI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a>*&gt;::const_iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a50f6d06d84b83009e0b0a8fe170bc5d1">ns3::Ipv4DGRRouting::ASExternalRoutesCI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>const iterator of container of Ipv4RoutingTableEntry (routes to external AS) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00307">307</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a14c8aee9a70a6fbb8f1ea784689838d2" name="a14c8aee9a70a6fbb8f1ea784689838d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14c8aee9a70a6fbb8f1ea784689838d2">&#9670;&#160;</a></span>ASExternalRoutesI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a>*&gt;::iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a14c8aee9a70a6fbb8f1ea784689838d2">ns3::Ipv4DGRRouting::ASExternalRoutesI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>iterator of container of Ipv4RoutingTableEntry (routes to external AS) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00309">309</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a0280dbec23318b36b8c8b5a7c10510d4" name="a0280dbec23318b36b8c8b5a7c10510d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0280dbec23318b36b8c8b5a7c10510d4">&#9670;&#160;</a></span>HostRoutes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> *&gt; <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0280dbec23318b36b8c8b5a7c10510d4">ns3::Ipv4DGRRouting::HostRoutes</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>container of Ipv4RoutingTableEntry (routes to hosts) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00291">291</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a619144f0acc141bc74ae09ace488009a" name="a619144f0acc141bc74ae09ace488009a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a619144f0acc141bc74ae09ace488009a">&#9670;&#160;</a></span>HostRoutesCI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a>*&gt;::const_iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a619144f0acc141bc74ae09ace488009a">ns3::Ipv4DGRRouting::HostRoutesCI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>const iterator of container of Ipv4RoutingTableEntry (routes to hosts) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00293">293</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a8fe42d90325ac5879408d2257ce57c47" name="a8fe42d90325ac5879408d2257ce57c47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fe42d90325ac5879408d2257ce57c47">&#9670;&#160;</a></span>HostRoutesI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a>*&gt;::iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a8fe42d90325ac5879408d2257ce57c47">ns3::Ipv4DGRRouting::HostRoutesI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>iterator of container of Ipv4RoutingTableEntry (routes to hosts) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00295">295</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a7f83eeb24903b910a78b02257e27327f" name="a7f83eeb24903b910a78b02257e27327f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f83eeb24903b910a78b02257e27327f">&#9670;&#160;</a></span>NetworkRoutes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> *&gt; <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7f83eeb24903b910a78b02257e27327f">ns3::Ipv4DGRRouting::NetworkRoutes</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>container of Ipv4RoutingTableEntry (routes to networks) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00298">298</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a946d8c87ff42387b8aa817fe09bd838e" name="a946d8c87ff42387b8aa817fe09bd838e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a946d8c87ff42387b8aa817fe09bd838e">&#9670;&#160;</a></span>NetworkRoutesCI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a>*&gt;::const_iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a946d8c87ff42387b8aa817fe09bd838e">ns3::Ipv4DGRRouting::NetworkRoutesCI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>const iterator of container of Ipv4RoutingTableEntry (routes to networks) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00300">300</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a0521ee280d49058fdcf8b38bf550dd34" name="a0521ee280d49058fdcf8b38bf550dd34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0521ee280d49058fdcf8b38bf550dd34">&#9670;&#160;</a></span>NetworkRoutesI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a>*&gt;::iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0521ee280d49058fdcf8b38bf550dd34">ns3::Ipv4DGRRouting::NetworkRoutesI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>iterator of container of Ipv4RoutingTableEntry (routes to networks) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00302">302</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a6bb30b8faec1a9afebab84881299d323" name="a6bb30b8faec1a9afebab84881299d323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bb30b8faec1a9afebab84881299d323">&#9670;&#160;</a></span>SocketList</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;Ptr&lt;Socket&gt;, uint32_t&gt; <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6bb30b8faec1a9afebab84881299d323">ns3::Ipv4DGRRouting::SocketList</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>One socket per interface, each bound to that interface's address (reason: for Neighbor status sensing, we need to know on which interface the messages arrive) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00322">322</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a744cc3e33b740ef8a80775b61c1ea598" name="a744cc3e33b740ef8a80775b61c1ea598"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a744cc3e33b740ef8a80775b61c1ea598">&#9670;&#160;</a></span>SocketListCI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;Ptr&lt;Socket&gt;,uint32_t&gt;::const_iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a744cc3e33b740ef8a80775b61c1ea598">ns3::Ipv4DGRRouting::SocketListCI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>socket list type const iterator </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00326">326</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<a id="a493660f3b2ceaf55ef8b9c89aa5966f8" name="a493660f3b2ceaf55ef8b9c89aa5966f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a493660f3b2ceaf55ef8b9c89aa5966f8">&#9670;&#160;</a></span>SocketListI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;Ptr&lt;Socket&gt;,uint32_t&gt;::iterator <a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a493660f3b2ceaf55ef8b9c89aa5966f8">ns3::Ipv4DGRRouting::SocketListI</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>socket list type iterator </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00324">324</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aec9dd007650cdc339cc98cfd210ebe22" name="aec9dd007650cdc339cc98cfd210ebe22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec9dd007650cdc339cc98cfd210ebe22">&#9670;&#160;</a></span>Ipv4DGRRouting()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ns3::Ipv4DGRRouting::Ipv4DGRRouting </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct an empty Ipv4GlobalRouting routing protocol,. </p>
<p>The Ipv4GlobalRouting class supports host and network unicast routes. This method initializes the lists containing these routes to empty.</p>
<dl class="section see"><dt>See also</dt><dd>Ipv4GlobalRouting </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00081">81</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00288">m_rand</a>.</p>

</div>
</div>
<a id="a721c9a4f9f12805a8c68f2972bbe2e9c" name="a721c9a4f9f12805a8c68f2972bbe2e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a721c9a4f9f12805a8c68f2972bbe2e9c">&#9670;&#160;</a></span>~Ipv4DGRRouting()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ns3::Ipv4DGRRouting::~Ipv4DGRRouting </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00093">93</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a94b9f168bd3285ed47b5c5f1f59f847b" name="a94b9f168bd3285ed47b5c5f1f59f847b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94b9f168bd3285ed47b5c5f1f59f847b">&#9670;&#160;</a></span>AddASExternalRouteTo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::AddASExternalRouteTo </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>network</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Mask&#160;</td>
          <td class="paramname"><em>networkMask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>nextHop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add an external route to the global routing table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">network</td><td>The Ipv4Address network for this route. </td></tr>
    <tr><td class="paramname">networkMask</td><td>The Ipv4Mask to extract the network. </td></tr>
    <tr><td class="paramname">nextHop</td><td>The next hop Ipv4Address </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00173">173</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00244">ns3::Ipv4DGRRoutingTableEntry::CreateNetworkRouteTo()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00313">m_ASexternalRoutes</a>.</p>
<div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a94b9f168bd3285ed47b5c5f1f59f847b_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a94b9f168bd3285ed47b5c5f1f59f847b_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a94b9f168bd3285ed47b5c5f1f59f847b_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a94b9f168bd3285ed47b5c5f1f59f847b_cgraph">
<area shape="rect" title="Add an external route to the global routing table." alt="" coords="5,5,184,45"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ac251919954195223794f62f921d9708b" title=" " alt="" coords="232,5,445,45"/>
<area shape="poly" title=" " alt="" coords="184,23,218,23,218,28,184,28"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a08c459157d5b8556f84e72cc5b1598eb" title="This constructor does nothing." alt="" coords="493,5,732,45"/>
<area shape="poly" title=" " alt="" coords="446,23,479,23,479,28,446,28"/>
</map>
</div>

</div>
</div>
<a id="aff852295cbcf0faf17da98100b6d04ab" name="aff852295cbcf0faf17da98100b6d04ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff852295cbcf0faf17da98100b6d04ab">&#9670;&#160;</a></span>AddHostRouteTo() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::AddHostRouteTo </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>nextHop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a host route to the global routing table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>The Ipv4Address destination for this route. </td></tr>
    <tr><td class="paramname">nextHop</td><td>The Ipv4Address of the next hop in the route. </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>Ipv4Address </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00099">99</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00212">ns3::Ipv4DGRRoutingTableEntry::CreateHostRouteTo()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>.</p>
<div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-3-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aff852295cbcf0faf17da98100b6d04ab_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff852295cbcf0faf17da98100b6d04ab_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff852295cbcf0faf17da98100b6d04ab_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff852295cbcf0faf17da98100b6d04ab_cgraph">
<area shape="rect" title="Add a host route to the global routing table." alt="" coords="5,5,165,45"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a757bd4b15ca66094c58f9c8045b24015" title=" " alt="" coords="213,5,408,45"/>
<area shape="poly" title=" " alt="" coords="166,23,200,23,200,28,166,28"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a08c459157d5b8556f84e72cc5b1598eb" title="This constructor does nothing." alt="" coords="456,5,695,45"/>
<area shape="poly" title=" " alt="" coords="408,23,442,23,442,28,408,28"/>
</map>
</div>

</div>
</div>
<a id="aad885ac0c786c4534adf30cfe4e252dd" name="aad885ac0c786c4534adf30cfe4e252dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad885ac0c786c4534adf30cfe4e252dd">&#9670;&#160;</a></span>AddHostRouteTo() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::AddHostRouteTo </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>nextHop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>nextInterface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>distance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a host route to the global routing table with the distance between root and destination. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>The Ipv4Address destination for this route. </td></tr>
    <tr><td class="paramname">nextHop</td><td>The next hop Ipv4Address </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination </td></tr>
    <tr><td class="paramname">distance</td><td>The distance between root and destination</td></tr>
  </table>
  </dd>
</dl>
<dl class="section author"><dt>Author</dt><dd>Pu Yang </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>The Ipv4Address destination for this route. </td></tr>
    <tr><td class="paramname">nextHop</td><td>The next hop Ipv4Address </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination </td></tr>
    <tr><td class="paramname">distance</td><td>The distance between root and destination </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00130">130</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00212">ns3::Ipv4DGRRoutingTableEntry::CreateHostRouteTo()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>.</p>
<div id="dynsection-4" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-4-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aad885ac0c786c4534adf30cfe4e252dd_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aad885ac0c786c4534adf30cfe4e252dd_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aad885ac0c786c4534adf30cfe4e252dd_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aad885ac0c786c4534adf30cfe4e252dd_cgraph">
<area shape="rect" title="Add a host route to the global routing table with the distance between root and destination." alt="" coords="5,5,165,45"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a757bd4b15ca66094c58f9c8045b24015" title=" " alt="" coords="213,5,408,45"/>
<area shape="poly" title=" " alt="" coords="166,23,200,23,200,28,166,28"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a08c459157d5b8556f84e72cc5b1598eb" title="This constructor does nothing." alt="" coords="456,5,695,45"/>
<area shape="poly" title=" " alt="" coords="408,23,442,23,442,28,408,28"/>
</map>
</div>

</div>
</div>
<a id="ae1c0d5ec9bcd3ef52d811baac3c178e0" name="ae1c0d5ec9bcd3ef52d811baac3c178e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1c0d5ec9bcd3ef52d811baac3c178e0">&#9670;&#160;</a></span>AddHostRouteTo() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::AddHostRouteTo </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a host route to the global routing table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>The Ipv4Address destination for this route. </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>Ipv4Address </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00110">110</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00212">ns3::Ipv4DGRRoutingTableEntry::CreateHostRouteTo()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>.</p>
<div id="dynsection-5" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-5-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_ae1c0d5ec9bcd3ef52d811baac3c178e0_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_ae1c0d5ec9bcd3ef52d811baac3c178e0_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_ae1c0d5ec9bcd3ef52d811baac3c178e0_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_ae1c0d5ec9bcd3ef52d811baac3c178e0_cgraph">
<area shape="rect" title="Add a host route to the global routing table." alt="" coords="5,5,165,45"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a757bd4b15ca66094c58f9c8045b24015" title=" " alt="" coords="213,5,408,45"/>
<area shape="poly" title=" " alt="" coords="166,23,200,23,200,28,166,28"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a08c459157d5b8556f84e72cc5b1598eb" title="This constructor does nothing." alt="" coords="456,5,695,45"/>
<area shape="poly" title=" " alt="" coords="408,23,442,23,442,28,408,28"/>
</map>
</div>

</div>
</div>
<a id="aaf886686054aa6dfa4779ce25b4ee21a" name="aaf886686054aa6dfa4779ce25b4ee21a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf886686054aa6dfa4779ce25b4ee21a">&#9670;&#160;</a></span>AddNetworkRouteTo() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::AddNetworkRouteTo </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>network</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Mask&#160;</td>
          <td class="paramname"><em>networkMask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>nextHop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a network route to the global routing table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">network</td><td>The Ipv4Address network for this route. </td></tr>
    <tr><td class="paramname">networkMask</td><td>The Ipv4Mask to extract the network. </td></tr>
    <tr><td class="paramname">nextHop</td><td>The next hop in the route to the destination network. </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>Ipv4Address </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00145">145</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00244">ns3::Ipv4DGRRoutingTableEntry::CreateNetworkRouteTo()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">m_networkRoutes</a>.</p>
<div id="dynsection-6" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-6-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-6-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-6-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aaf886686054aa6dfa4779ce25b4ee21a_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aaf886686054aa6dfa4779ce25b4ee21a_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aaf886686054aa6dfa4779ce25b4ee21a_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aaf886686054aa6dfa4779ce25b4ee21a_cgraph">
<area shape="rect" title="Add a network route to the global routing table." alt="" coords="5,5,168,45"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ac251919954195223794f62f921d9708b" title=" " alt="" coords="216,5,429,45"/>
<area shape="poly" title=" " alt="" coords="168,23,202,23,202,28,168,28"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a08c459157d5b8556f84e72cc5b1598eb" title="This constructor does nothing." alt="" coords="477,5,716,45"/>
<area shape="poly" title=" " alt="" coords="430,23,463,23,463,28,430,28"/>
</map>
</div>

</div>
</div>
<a id="abf9ab62c2bdc32fa7358ad9418442314" name="abf9ab62c2bdc32fa7358ad9418442314"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf9ab62c2bdc32fa7358ad9418442314">&#9670;&#160;</a></span>AddNetworkRouteTo() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::AddNetworkRouteTo </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>network</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Mask&#160;</td>
          <td class="paramname"><em>networkMask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a network route to the global routing table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">network</td><td>The Ipv4Address network for this route. </td></tr>
    <tr><td class="paramname">networkMask</td><td>The Ipv4Mask to extract the network. </td></tr>
    <tr><td class="paramname">interface</td><td>The network interface index used to send packets to the destination.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>Ipv4Address </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00160">160</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00244">ns3::Ipv4DGRRoutingTableEntry::CreateNetworkRouteTo()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">m_networkRoutes</a>.</p>
<div id="dynsection-7" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-7-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-7-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-7-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_abf9ab62c2bdc32fa7358ad9418442314_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_abf9ab62c2bdc32fa7358ad9418442314_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_abf9ab62c2bdc32fa7358ad9418442314_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_abf9ab62c2bdc32fa7358ad9418442314_cgraph">
<area shape="rect" title="Add a network route to the global routing table." alt="" coords="5,5,168,45"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ac251919954195223794f62f921d9708b" title=" " alt="" coords="216,5,429,45"/>
<area shape="poly" title=" " alt="" coords="168,23,202,23,202,28,168,28"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a08c459157d5b8556f84e72cc5b1598eb" title="This constructor does nothing." alt="" coords="477,5,716,45"/>
<area shape="poly" title=" " alt="" coords="430,23,463,23,463,28,430,28"/>
</map>
</div>

</div>
</div>
<a id="a54fc1b9c309b92d6d2e6c193752eb4bc" name="a54fc1b9c309b92d6d2e6c193752eb4bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54fc1b9c309b92d6d2e6c193752eb4bc">&#9670;&#160;</a></span>AssignStreams()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t ns3::Ipv4DGRRouting::AssignStreams </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Build the routing database by gathering Link State Advertisements from each node exporting a <a class="el" href="../../d0/d56/classns3_1_1_d_g_r_router.html" title="An interface aggregated to a node to provide global routing info.">DGRRouter</a> interface. </p>
<p>Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>first stream index to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of stream indices assigned by this model </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00844">844</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00288">m_rand</a>.</p>

</div>
</div>
<a id="a258dcb9de99bd828247e0d6c3e08793d" name="a258dcb9de99bd828247e0d6c3e08793d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a258dcb9de99bd828247e0d6c3e08793d">&#9670;&#160;</a></span>DoDispose()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::DoDispose </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dispose this object. </p>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00852">852</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00313">m_ASexternalRoutes</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">m_networkRoutes</a>.</p>

</div>
</div>
<a id="a0bb01e6d6468d3c42a989434c193b372" name="a0bb01e6d6468d3c42a989434c193b372"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bb01e6d6468d3c42a989434c193b372">&#9670;&#160;</a></span>DoInitialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::DoInitialize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Start protocol operation. </p>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">879</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00047">DGR_BROAD_CAST</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00046">DGR_PORT</a>, <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00404">m_initialized</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00343">m_interfaceExclusions</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00329">m_multicastRecvSocket</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00331">m_nextUnsolicitedUpdate</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00401">m_outStream</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00328">m_unicastSocketList</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00334">m_unsolicitedUpdate</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01287">Receive()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>
<div id="dynsection-8" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-8-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-8-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-8-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a0bb01e6d6468d3c42a989434c193b372_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a0bb01e6d6468d3c42a989434c193b372_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a0bb01e6d6468d3c42a989434c193b372_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a0bb01e6d6468d3c42a989434c193b372_cgraph">
<area shape="rect" title="Start protocol operation." alt="" coords="5,399,165,439"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a2eb8a683180ce3d3726767f5b986e3d8" title="Receive an DGR message." alt="" coords="225,241,385,281"/>
<area shape="poly" title=" " alt="" coords="113,396,263,287,266,292,116,401"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a238052760f17cb9a493e98ef38b6de8f" title="Send Unsolicited neighbor status information Updates on all interfaces." alt="" coords="213,443,396,483"/>
<area shape="poly" title=" " alt="" coords="166,432,201,439,200,444,165,437"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a75a9665a3108d89e19891e73b0f51251" title="Get the command." alt="" coords="447,191,668,217"/>
<area shape="poly" title=" " alt="" coords="384,240,443,227,486,217,487,222,445,232,385,246"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa29a1573985386ddcc0c9616ab524836" title="Handle DGR responses." alt="" coords="477,241,637,281"/>
<area shape="poly" title=" " alt="" coords="385,259,464,259,464,264,385,264"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a165815e13c7cda840f5e77961f412b8d" title=" " alt="" coords="741,5,941,45"/>
<area shape="poly" title=" " alt="" coords="637,246,654,238,669,226,684,206,691,185,692,142,693,99,700,77,717,55,728,46,731,50,721,59,705,79,698,100,697,142,696,186,689,208,673,230,657,242,639,251"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ad28f3042c3a7579cf82d7debfab3ff94" title="Get the list of NSEs included in the message." alt="" coords="740,70,943,95"/>
<area shape="poly" title=" " alt="" coords="636,245,669,226,681,212,687,197,691,167,696,136,704,121,717,106,726,100,729,104,720,110,708,124,701,138,697,168,692,199,685,215,672,230,639,250"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a2fcef3eb0f76c33b6d7c151dc4b939e3" title="Get the serialized size of the packet." alt="" coords="719,413,964,438"/>
<area shape="poly" title=" " alt="" coords="577,280,636,340,676,372,720,399,736,406,734,411,717,404,673,377,633,344,574,284"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#a247a7c414ca757992904f162888375d9" title=" " alt="" coords="748,120,935,160"/>
<area shape="poly" title=" " alt="" coords="637,242,669,226,684,212,692,198,701,184,717,170,734,161,736,166,720,174,705,187,697,201,688,216,672,230,639,246"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#afab689a2b1bf8ec2af909d5d05ab26a6" title="Handle the NeighborStatusEntry of a Interface." alt="" coords="728,184,955,224"/>
<area shape="poly" title=" " alt="" coords="637,243,728,224,729,229,638,248"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#a0eabfc389423b0b694d6f30cb1b773f5" title="Insert an &lt;interface, Neighbor Status Entry&gt; into the NSDB." alt="" coords="762,249,921,274"/>
<area shape="poly" title=" " alt="" coords="637,259,748,259,748,264,637,264"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#ad12f02c2d3a0eb4ec1f838adbc93961e" title=" " alt="" coords="748,299,935,339"/>
<area shape="poly" title=" " alt="" coords="638,275,735,295,734,300,637,280"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a6e3953db49c443f23281dec449661d39" title=" " alt="" coords="753,363,929,389"/>
<area shape="poly" title=" " alt="" coords="590,279,649,315,720,348,749,357,747,362,718,353,646,319,587,284"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2b24a215ee38cb8ec0e5a8c6f5247e01" title="Get the serialized size of the packet." alt="" coords="1012,438,1235,463"/>
<area shape="poly" title=" " alt="" coords="965,434,998,437,998,442,964,439"/>
<area shape="poly" title=" " alt="" coords="264,443,261,433,268,424,282,418,305,416,330,419,344,426,342,431,329,424,305,421,284,423,271,428,266,434,269,442"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aff694e326df155e5a99a85d805b7d172" title="Sending Neighbor Status Updates on all interfaces." alt="" coords="444,556,671,596"/>
<area shape="poly" title=" " alt="" coords="351,480,500,548,498,553,349,485"/>
<area shape="poly" title=" " alt="" coords="579,554,638,504,677,478,718,455,760,439,761,444,720,460,680,482,642,509,582,558"/>
<area shape="poly" title=" " alt="" coords="593,553,651,525,718,500,789,483,862,470,998,454,998,460,863,475,790,488,719,505,653,530,595,558"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a6004075aa81cee64dbf96c03e548f41e" title="Add a DGR Neighbor Status Entry (NSE) to the message." alt="" coords="751,514,932,539"/>
<area shape="poly" title=" " alt="" coords="671,554,754,539,754,544,672,559"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a930203fc0319f7d6f2119079096168dc" title="Clear all the NSEs from the header." alt="" coords="743,563,940,589"/>
<area shape="poly" title=" " alt="" coords="671,573,729,573,729,579,671,579"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ae7b3e6830add872de26fc78b1af52372" title="Get the number of NSEs includes in the message." alt="" coords="726,613,957,638"/>
<area shape="poly" title=" " alt="" coords="672,593,754,608,754,613,671,598"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ae6c91c53e2bf12faf7f315e55a103412" title="Set the command." alt="" coords="732,662,951,687"/>
<area shape="poly" title=" " alt="" coords="596,594,653,622,720,648,749,656,747,661,718,653,651,627,594,599"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2e993c84f83ec1bddf787351c5c41401" title="Set the interface." alt="" coords="747,711,935,737"/>
<area shape="poly" title=" " alt="" coords="580,594,639,647,678,675,720,698,738,705,736,710,718,702,675,679,636,651,577,598"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#afed23298399afb86ba0bdf1f6ea19b7d" title=" " alt="" coords="759,761,923,786"/>
<area shape="poly" title=" " alt="" coords="573,595,597,629,630,671,672,712,720,747,747,759,745,763,717,752,668,717,626,674,593,632,569,598"/>
</map>
</div>

</div>
</div>
<a id="aff694e326df155e5a99a85d805b7d172" name="aff694e326df155e5a99a85d805b7d172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff694e326df155e5a99a85d805b7d172">&#9670;&#160;</a></span>DoSendNeighborStatusUpdate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::DoSendNeighborStatusUpdate </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>periodic</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sending Neighbor Status Updates on all interfaces. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">periodic</td><td>true for periodic update, else triggered. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01370">1370</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00214">ns3::DgrHeader::AddNse()</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00220">ns3::DgrHeader::ClearNses()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00047">DGR_BROAD_CAST</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00046">DGR_PORT</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00226">ns3::DgrHeader::GetNseNumber()</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00045">ns3::DgrNse::GetSerializedSize()</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00138">ns3::DgrHeader::GetSerializedSize()</a>, <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00343">m_interfaceExclusions</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00328">m_unicastSocketList</a>, <a class="el" href="../../de/dc1/dgr-header_8h_source.html#l00139">ns3::DgrHeader::RESPONSE</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00202">ns3::DgrHeader::SetCommand()</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00068">ns3::DgrNse::SetInterface()</a>, and <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00080">ns3::DgrNse::SetState()</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>
<div id="dynsection-9" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-9-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-9-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-9-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_cgraph">
<area shape="rect" title="Sending Neighbor Status Updates on all interfaces." alt="" coords="5,173,232,213"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a6004075aa81cee64dbf96c03e548f41e" title="Add a DGR Neighbor Status Entry (NSE) to the message." alt="" coords="312,5,493,31"/>
<area shape="poly" title=" " alt="" coords="133,171,192,105,233,69,279,40,298,31,300,36,281,44,236,74,195,109,137,174"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a930203fc0319f7d6f2119079096168dc" title="Clear all the NSEs from the header." alt="" coords="304,55,501,80"/>
<area shape="poly" title=" " alt="" coords="143,170,203,129,240,107,279,89,302,81,304,86,281,94,243,112,206,133,147,175"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ae7b3e6830add872de26fc78b1af52372" title="Get the number of NSEs includes in the message." alt="" coords="287,104,518,129"/>
<area shape="poly" title=" " alt="" coords="192,170,279,146,338,130,340,136,281,151,193,175"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2b24a215ee38cb8ec0e5a8c6f5247e01" title="Get the serialized size of the packet." alt="" coords="573,180,796,205"/>
<area shape="poly" title=" " alt="" coords="232,190,560,190,560,195,232,195"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a2fcef3eb0f76c33b6d7c151dc4b939e3" title="Get the serialized size of the packet." alt="" coords="280,205,525,231"/>
<area shape="poly" title=" " alt="" coords="233,200,267,203,266,209,232,205"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ae6c91c53e2bf12faf7f315e55a103412" title="Set the command." alt="" coords="293,255,512,280"/>
<area shape="poly" title=" " alt="" coords="181,210,281,239,322,249,321,254,279,245,180,215"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2e993c84f83ec1bddf787351c5c41401" title="Set the interface." alt="" coords="309,304,497,329"/>
<area shape="poly" title=" " alt="" coords="148,211,207,251,281,289,308,298,307,303,279,294,204,255,145,215"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#afed23298399afb86ba0bdf1f6ea19b7d" title=" " alt="" coords="321,353,485,379"/>
<area shape="poly" title=" " alt="" coords="138,211,196,275,236,310,281,338,308,349,306,354,279,343,233,314,193,279,134,215"/>
<area shape="poly" title=" " alt="" coords="525,204,559,201,560,207,526,210"/>
</map>
</div>
<div id="dynsection-10" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-10-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-10-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-10-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aff694e326df155e5a99a85d805b7d172_icgraph">
<area shape="rect" title="Sending Neighbor Status Updates on all interfaces." alt="" coords="444,29,671,69"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a238052760f17cb9a493e98ef38b6de8f" title="Send Unsolicited neighbor status information Updates on all interfaces." alt="" coords="213,29,396,69"/>
<area shape="poly" title=" " alt="" coords="430,52,396,52,396,47,430,47"/>
<area shape="poly" title=" " alt="" coords="342,18,329,11,305,8,284,10,271,15,266,21,269,28,264,30,261,20,268,10,282,5,305,3,330,6,344,13"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0bb01e6d6468d3c42a989434c193b372" title="Start protocol operation." alt="" coords="5,29,165,69"/>
<area shape="poly" title=" " alt="" coords="200,52,165,52,165,47,200,47"/>
</map>
</div>

</div>
</div>
<a id="a3558caabfea9b5e9f27ccea4bb2b6603" name="a3558caabfea9b5e9f27ccea4bb2b6603"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3558caabfea9b5e9f27ccea4bb2b6603">&#9670;&#160;</a></span>GetNRoutes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ns3::Ipv4DGRRouting::GetNRoutes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of individual unicast routes that have been added to the routing table. </p>
<dl class="section warning"><dt>Warning</dt><dd>The default route counts as one of the routes. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the number of routes </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00727">727</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00313">m_ASexternalRoutes</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">m_networkRoutes</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00970">PrintRoutingTable()</a>.</p>
<div id="dynsection-11" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-11-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-11-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-11-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a3558caabfea9b5e9f27ccea4bb2b6603_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a3558caabfea9b5e9f27ccea4bb2b6603_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a3558caabfea9b5e9f27ccea4bb2b6603_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a3558caabfea9b5e9f27ccea4bb2b6603_icgraph">
<area shape="rect" title="Get the number of individual unicast routes that have been added to the routing table." alt="" coords="213,5,373,45"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0670297c54c9f0715d5d90a0cafc529d" title=" " alt="" coords="5,5,165,45"/>
<area shape="poly" title=" " alt="" coords="200,28,166,28,166,23,200,23"/>
</map>
</div>

</div>
</div>
<a id="ac186d277e77bbdfb2bc216691eefbbab" name="ac186d277e77bbdfb2bc216691eefbbab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac186d277e77bbdfb2bc216691eefbbab">&#9670;&#160;</a></span>GetRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html">Ipv4DGRRoutingTableEntry</a> * ns3::Ipv4DGRRouting::GetRoute </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a route from the global unicast routing table. </p>
<p>Externally, the unicast global routing table appears simply as a table with n entries. The one subtlety of note is that if a default route has been set it will appear as the zeroth entry in the table. This means that if you add only a default route, the table will have one entry that can be accessed either by explicitly calling GetDefaultRoute () or by calling GetRoute (0).</p>
<p>Similarly, if the default route has been set, calling RemoveRoute (0) will remove the default route.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>The index (into the routing table) of the route to retrieve. If the default route has been set, it will occupy index zero. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If route is set, a pointer to that Ipv4RoutingTableEntry is returned, otherwise a zero pointer is returned.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>Ipv4RoutingTableEntry </dd>
<dd>
Ipv4GlobalRouting::RemoveRoute </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00738">738</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00313">m_ASexternalRoutes</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">m_networkRoutes</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00970">PrintRoutingTable()</a>.</p>
<div id="dynsection-12" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-12-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-12-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-12-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_ac186d277e77bbdfb2bc216691eefbbab_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_ac186d277e77bbdfb2bc216691eefbbab_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_ac186d277e77bbdfb2bc216691eefbbab_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_ac186d277e77bbdfb2bc216691eefbbab_icgraph">
<area shape="rect" title="Get a route from the global unicast routing table." alt="" coords="213,5,373,45"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0670297c54c9f0715d5d90a0cafc529d" title=" " alt="" coords="5,5,165,45"/>
<area shape="poly" title=" " alt="" coords="200,28,166,28,166,23,200,23"/>
</map>
</div>

</div>
</div>
<a id="a036fb895e8c59952080959790ce8c665" name="a036fb895e8c59952080959790ce8c665"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a036fb895e8c59952080959790ce8c665">&#9670;&#160;</a></span>GetTypeId()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">TypeId ns3::Ipv4DGRRouting::GetTypeId </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the type ID. </p>
<dl class="section return"><dt>Returns</dt><dd>the object TypeId </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00056">56</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00284">m_randomEcmpRouting</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00286">m_respondToInterfaceEvents</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00334">m_unsolicitedUpdate</a>.</p>

</div>
</div>
<a id="aa29a1573985386ddcc0c9616ab524836" name="aa29a1573985386ddcc0c9616ab524836"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa29a1573985386ddcc0c9616ab524836">&#9670;&#160;</a></span>HandleResponses()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::HandleResponses </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d1/de8/classns3_1_1_dgr_header.html">DgrHeader</a>&#160;</td>
          <td class="paramname"><em>hdr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>senderAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>incomingInterface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>hopLimit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handle DGR responses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">hdr</td><td>message header (including NSEs) </td></tr>
    <tr><td class="paramname">senderAddress</td><td>sender address </td></tr>
    <tr><td class="paramname">incomingInterface</td><td>incoming interface </td></tr>
    <tr><td class="paramname">hopLimit</td><td>packet's hop limit </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01432">1432</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00021">ns3::StatusUnit::GetCurrentState()</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00232">ns3::DgrHeader::GetNseList()</a>, <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00138">ns3::DgrHeader::GetSerializedSize()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00096">ns3::NeighborStatusEntry::GetStatusUnit()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00177">ns3::DgrNSDB::HandleNeighborStatusEntry()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00193">ns3::DgrNSDB::Insert()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00082">ns3::NeighborStatusEntry::Insert()</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00343">m_interfaceExclusions</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00316">m_nsdb</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00401">m_outStream</a>, and <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00043">ns3::StatusUnit::Update()</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01287">Receive()</a>.</p>
<div id="dynsection-13" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-13-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-13-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-13-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_cgraph">
<area shape="rect" title="Handle DGR responses." alt="" coords="5,201,165,241"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a165815e13c7cda840f5e77961f412b8d" title=" " alt="" coords="236,5,436,45"/>
<area shape="poly" title=" " alt="" coords="94,200,112,168,138,129,172,89,212,55,222,49,225,54,215,60,176,93,143,132,117,171,99,203"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ad28f3042c3a7579cf82d7debfab3ff94" title="Get the list of NSEs included in the message." alt="" coords="235,70,437,95"/>
<area shape="poly" title=" " alt="" coords="101,199,147,151,178,125,212,104,228,97,230,102,215,109,181,130,151,155,105,203"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a2fcef3eb0f76c33b6d7c151dc4b939e3" title="Get the serialized size of the packet." alt="" coords="213,119,459,145"/>
<area shape="poly" title=" " alt="" coords="119,199,163,176,212,155,244,145,246,150,214,160,165,181,122,204"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#a247a7c414ca757992904f162888375d9" title=" " alt="" coords="243,169,429,209"/>
<area shape="poly" title=" " alt="" coords="165,209,228,200,229,206,166,214"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#afab689a2b1bf8ec2af909d5d05ab26a6" title="Handle the NeighborStatusEntry of a Interface." alt="" coords="223,233,449,273"/>
<area shape="poly" title=" " alt="" coords="166,229,209,234,209,240,165,234"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#a0eabfc389423b0b694d6f30cb1b773f5" title="Insert an &lt;interface, Neighbor Status Entry&gt; into the NSDB." alt="" coords="257,298,415,323"/>
<area shape="poly" title=" " alt="" coords="122,239,165,262,214,283,246,292,244,297,212,288,163,267,119,244"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#ad12f02c2d3a0eb4ec1f838adbc93961e" title=" " alt="" coords="243,348,429,388"/>
<area shape="poly" title=" " alt="" coords="106,240,152,287,182,311,215,332,232,341,230,345,212,337,179,316,148,290,102,244"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a6e3953db49c443f23281dec449661d39" title=" " alt="" coords="248,413,424,438"/>
<area shape="poly" title=" " alt="" coords="97,241,114,276,140,319,173,362,215,398,236,409,234,413,212,402,169,366,135,322,110,278,93,243"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2b24a215ee38cb8ec0e5a8c6f5247e01" title="Get the serialized size of the packet." alt="" coords="507,119,729,145"/>
<area shape="poly" title=" " alt="" coords="459,129,493,129,493,135,459,135"/>
</map>
</div>
<div id="dynsection-14" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-14-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-14-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-14-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa29a1573985386ddcc0c9616ab524836_icgraph">
<area shape="rect" title="Handle DGR responses." alt="" coords="421,5,581,45"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a2eb8a683180ce3d3726767f5b986e3d8" title="Receive an DGR message." alt="" coords="213,5,373,45"/>
<area shape="poly" title=" " alt="" coords="408,28,374,28,374,23,408,23"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0bb01e6d6468d3c42a989434c193b372" title="Start protocol operation." alt="" coords="5,5,165,45"/>
<area shape="poly" title=" " alt="" coords="200,28,166,28,166,23,200,23"/>
</map>
</div>

</div>
</div>
<a id="a552819000c07190404d6bd5db6d1ce84" name="a552819000c07190404d6bd5db6d1ce84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a552819000c07190404d6bd5db6d1ce84">&#9670;&#160;</a></span>LookupDGRRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt; Ipv4Route &gt; ns3::Ipv4DGRRouting::LookupDGRRoute </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ptr&lt; Packet &gt;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ptr&lt; const NetDevice &gt;&#160;</td>
          <td class="paramname"><em>idev</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000003">Todo:</a></b></dt><dd>handle multi-address case </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">253</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d1/d14/dgr-tags_8cc_source.html#l00035">ns3::BudgetTag::GetBudget()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00021">ns3::StatusUnit::GetCurrentState()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00134">ns3::Ipv4DGRRoutingTableEntry::GetDest()</a>, <a class="el" href="../../d1/d14/dgr-tags_8cc_source.html#l00106">ns3::DistTag::GetDistance()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00205">ns3::Ipv4DGRRoutingTableEntry::GetDistance()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00184">ns3::Ipv4DGRRoutingTableEntry::GetGateway()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00191">ns3::Ipv4DGRRoutingTableEntry::GetInterface()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00162">ns3::DgrNSDB::GetNeighborStatusEntry()</a>, <a class="el" href="../../db/d9d/neighbor-status-database_8cc_source.html#l00096">ns3::NeighborStatusEntry::GetStatusUnit()</a>, <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00316">m_nsdb</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00288">m_rand</a>, and <a class="el" href="../../d1/d14/dgr-tags_8cc_source.html#l00099">ns3::DistTag::SetDistance()</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01160">RouteInput()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01040">RouteOutput()</a>.</p>
<div id="dynsection-15" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-15-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-15-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-15-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_cgraph">
<area shape="rect" title=" " alt="" coords="5,266,165,306"/>
<area shape="rect" href="../../d0/db3/classns3_1_1_budget_tag.html#ac6b06a85217e94b7b12bb66a000d500b" title="Get the tag&#39;s budget." alt="" coords="215,5,414,31"/>
<area shape="poly" title=" " alt="" coords="89,265,102,219,126,158,162,95,185,66,212,41,221,35,224,39,215,45,189,70,166,98,131,160,107,220,94,267"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a165815e13c7cda840f5e77961f412b8d" title=" " alt="" coords="215,55,415,95"/>
<area shape="poly" title=" " alt="" coords="93,264,111,230,137,187,171,143,212,105,220,100,223,104,215,109,175,147,141,190,115,233,98,267"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a69ebd01d00df5465ad4d720baf20aac5" title=" " alt="" coords="217,119,412,159"/>
<area shape="poly" title=" " alt="" coords="102,264,149,217,179,191,212,169,225,162,227,167,215,174,182,195,152,221,106,268"/>
<area shape="rect" href="../../d1/def/classns3_1_1_dist_tag.html#abdba4f115af1156fa9971edb1f9dfa13" title="Get the tag&#39;s distance." alt="" coords="220,184,409,209"/>
<area shape="poly" title=" " alt="" coords="120,264,163,241,212,220,240,211,241,216,214,224,166,246,122,268"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ad6b6cd8c1a98ab084553075f284de1b4" title=" " alt="" coords="217,234,412,274"/>
<area shape="poly" title=" " alt="" coords="166,272,203,267,204,272,166,277"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a19708a359b875e0b8986ff99f80c159c" title=" " alt="" coords="217,298,412,338"/>
<area shape="poly" title=" " alt="" coords="166,295,204,300,203,305,166,300"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a2b9549ad4a8d225b40c3f7dcd2c29c25" title=" " alt="" coords="217,362,412,402"/>
<area shape="poly" title=" " alt="" coords="124,304,214,348,234,355,232,360,212,352,121,308"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#a0d9ea8c82a764230832d72825bce2fce" title="Get the NeighborStatusEntry of a Interface." alt="" coords="213,426,416,466"/>
<area shape="poly" title=" " alt="" coords="104,305,150,358,181,387,215,412,226,418,223,422,212,416,177,391,146,362,100,308"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#a247a7c414ca757992904f162888375d9" title=" " alt="" coords="221,490,408,530"/>
<area shape="poly" title=" " alt="" coords="97,305,114,342,139,388,173,435,215,476,223,481,220,486,212,480,169,439,135,391,109,344,92,307"/>
<area shape="rect" href="../../d1/def/classns3_1_1_dist_tag.html#afc8616b9abd64dd7a0ebf3d876f1dcb2" title="Set the tag&#39;s distance." alt="" coords="221,555,408,580"/>
<area shape="poly" title=" " alt="" coords="93,306,106,354,129,418,165,484,188,514,215,540,224,546,221,551,212,544,184,517,160,487,124,420,101,355,88,307"/>
</map>
</div>
<div id="dynsection-16" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-16-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-16-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-16-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a552819000c07190404d6bd5db6d1ce84_icgraph">
<area shape="rect" title=" " alt="" coords="213,37,373,77"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7e7c34d7e0a922980bf3fdf62f9bbe1b" title=" " alt="" coords="5,5,165,45"/>
<area shape="poly" title=" " alt="" coords="199,46,165,40,166,35,200,40"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa949f02ca52008f8201ee9915fdd0191" title=" " alt="" coords="5,69,165,109"/>
<area shape="poly" title=" " alt="" coords="200,74,166,80,165,74,199,69"/>
</map>
</div>

</div>
</div>
<a id="a95ddcbfcdb50ecdb48bfd91575836fe6" name="a95ddcbfcdb50ecdb48bfd91575836fe6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95ddcbfcdb50ecdb48bfd91575836fe6">&#9670;&#160;</a></span>LookupUniRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt; Ipv4Route &gt; ns3::Ipv4DGRRouting::LookupUniRoute </td>
          <td>(</td>
          <td class="paramtype">Ipv4Address&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ptr&lt; NetDevice &gt;&#160;</td>
          <td class="paramname"><em>oif</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Lookup in the forwarding table for destination. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest</td><td>destination address </td></tr>
    <tr><td class="paramname">oif</td><td>output interface if any (put 0 otherwise) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Ipv4Route to route the packet to reach dest address </dd></dl>
<p>Get the shortest path in the routing table</p>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000002">Todo:</a></b></dt><dd>handle multi-address case </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00189">189</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00134">ns3::Ipv4DGRRoutingTableEntry::GetDest()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00184">ns3::Ipv4DGRRoutingTableEntry::GetGateway()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00191">ns3::Ipv4DGRRoutingTableEntry::GetInterface()</a>, <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01160">RouteInput()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01040">RouteOutput()</a>.</p>
<div id="dynsection-17" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-17-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-17-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-17-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_cgraph">
<area shape="rect" title="Lookup in the forwarding table for destination." alt="" coords="5,69,165,109"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a69ebd01d00df5465ad4d720baf20aac5" title=" " alt="" coords="213,5,408,45"/>
<area shape="poly" title=" " alt="" coords="156,67,226,47,227,52,157,72"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a19708a359b875e0b8986ff99f80c159c" title=" " alt="" coords="213,69,408,109"/>
<area shape="poly" title=" " alt="" coords="166,87,200,87,200,92,166,92"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a2b9549ad4a8d225b40c3f7dcd2c29c25" title=" " alt="" coords="213,133,408,173"/>
<area shape="poly" title=" " alt="" coords="157,107,227,127,226,132,156,112"/>
</map>
</div>
<div id="dynsection-18" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-18-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-18-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-18-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a95ddcbfcdb50ecdb48bfd91575836fe6_icgraph">
<area shape="rect" title="Lookup in the forwarding table for destination." alt="" coords="213,37,373,77"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7e7c34d7e0a922980bf3fdf62f9bbe1b" title=" " alt="" coords="5,5,165,45"/>
<area shape="poly" title=" " alt="" coords="199,46,165,40,166,35,200,40"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa949f02ca52008f8201ee9915fdd0191" title=" " alt="" coords="5,69,165,109"/>
<area shape="poly" title=" " alt="" coords="200,74,166,80,165,74,199,69"/>
</map>
</div>

</div>
</div>
<a id="a9cdc7d3663a11b90bec029c7a3e6cba2" name="a9cdc7d3663a11b90bec029c7a3e6cba2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cdc7d3663a11b90bec029c7a3e6cba2">&#9670;&#160;</a></span>NotifyAddAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::NotifyAddAddress </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4InterfaceAddress&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01255">1255</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00046">ns3::DGRRouteManager::BuildDGRRoutingDatabase()</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00038">ns3::DGRRouteManager::DeleteDGRRoutes()</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00054">ns3::DGRRouteManager::InitializeRoutes()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00286">m_respondToInterfaceEvents</a>.</p>
<div id="dynsection-19" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-19-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-19-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-19-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a9cdc7d3663a11b90bec029c7a3e6cba2_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a9cdc7d3663a11b90bec029c7a3e6cba2_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a9cdc7d3663a11b90bec029c7a3e6cba2_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a9cdc7d3663a11b90bec029c7a3e6cba2_cgraph">
<area shape="rect" title=" " alt="" coords="5,117,165,157"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#a62b76ca8cab68a61efd72c5fe5d092dc" title="Build the routing database by gathering Link State Advertisements from each node exporting a DGRRoute..." alt="" coords="213,29,417,69"/>
<area shape="poly" title=" " alt="" coords="128,115,212,79,233,71,235,76,214,84,130,120"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#acea317a83af55525aa4453f33839db3a" title="Delete all static routes on all nodes that have a DGRRouterInterface." alt="" coords="227,117,404,157"/>
<area shape="poly" title=" " alt="" coords="166,135,213,135,213,140,166,140"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#ad637a566676faf22176f66f1afdb8c3c" title="Compute routes using a Dijkstra SPF computation and populate per&#45;node forwarding tables." alt="" coords="227,205,404,245"/>
<area shape="poly" title=" " alt="" coords="140,155,251,198,249,203,138,160"/>
<area shape="poly" title=" " alt="" coords="272,30,270,20,277,10,292,5,315,3,342,6,357,13,354,18,341,11,315,8,293,10,280,15,275,21,278,28"/>
<area shape="poly" title=" " alt="" coords="272,118,270,108,277,98,292,93,315,91,342,94,357,101,354,106,341,99,315,96,293,98,280,103,275,109,278,116"/>
<area shape="poly" title=" " alt="" coords="272,206,270,196,277,186,292,181,315,179,342,182,357,189,354,194,341,187,315,184,293,186,280,191,275,197,278,204"/>
</map>
</div>

</div>
</div>
<a id="a5fabc015fa802a4c056cf14359ea898e" name="a5fabc015fa802a4c056cf14359ea898e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fabc015fa802a4c056cf14359ea898e">&#9670;&#160;</a></span>NotifyInterfaceDown()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::NotifyInterfaceDown </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01243">1243</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00046">ns3::DGRRouteManager::BuildDGRRoutingDatabase()</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00038">ns3::DGRRouteManager::DeleteDGRRoutes()</a>, <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00054">ns3::DGRRouteManager::InitializeRoutes()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00286">m_respondToInterfaceEvents</a>.</p>
<div id="dynsection-20" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-20-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-20-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-20-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a5fabc015fa802a4c056cf14359ea898e_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a5fabc015fa802a4c056cf14359ea898e_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a5fabc015fa802a4c056cf14359ea898e_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a5fabc015fa802a4c056cf14359ea898e_cgraph">
<area shape="rect" title=" " alt="" coords="5,117,169,157"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#a62b76ca8cab68a61efd72c5fe5d092dc" title="Build the routing database by gathering Link State Advertisements from each node exporting a DGRRoute..." alt="" coords="217,29,421,69"/>
<area shape="poly" title=" " alt="" coords="131,115,216,79,238,71,240,76,218,84,133,120"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#acea317a83af55525aa4453f33839db3a" title="Delete all static routes on all nodes that have a DGRRouterInterface." alt="" coords="231,117,408,157"/>
<area shape="poly" title=" " alt="" coords="170,135,217,135,217,140,170,140"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#ad637a566676faf22176f66f1afdb8c3c" title="Compute routes using a Dijkstra SPF computation and populate per&#45;node forwarding tables." alt="" coords="231,205,408,245"/>
<area shape="poly" title=" " alt="" coords="142,155,254,198,252,203,140,160"/>
<area shape="poly" title=" " alt="" coords="276,30,273,20,280,10,296,5,319,3,346,6,361,13,359,18,345,11,319,8,297,10,284,15,279,21,281,28"/>
<area shape="poly" title=" " alt="" coords="276,118,273,108,280,98,296,93,319,91,346,94,361,101,359,106,345,99,319,96,297,98,284,103,279,109,281,116"/>
<area shape="poly" title=" " alt="" coords="276,206,273,196,280,186,296,181,319,179,346,182,361,189,359,194,345,187,319,184,297,186,284,191,279,197,281,204"/>
</map>
</div>

</div>
</div>
<a id="a9715cb5895be31d03b1ffe15212fec57" name="a9715cb5895be31d03b1ffe15212fec57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9715cb5895be31d03b1ffe15212fec57">&#9670;&#160;</a></span>NotifyInterfaceUp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::NotifyInterfaceUp </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01231">1231</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00046">ns3::DGRRouteManager::BuildDGRRoutingDatabase()</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00038">ns3::DGRRouteManager::DeleteDGRRoutes()</a>, <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00054">ns3::DGRRouteManager::InitializeRoutes()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00286">m_respondToInterfaceEvents</a>.</p>
<div id="dynsection-21" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-21-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-21-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-21-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a9715cb5895be31d03b1ffe15212fec57_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a9715cb5895be31d03b1ffe15212fec57_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a9715cb5895be31d03b1ffe15212fec57_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a9715cb5895be31d03b1ffe15212fec57_cgraph">
<area shape="rect" title=" " alt="" coords="5,117,165,157"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#a62b76ca8cab68a61efd72c5fe5d092dc" title="Build the routing database by gathering Link State Advertisements from each node exporting a DGRRoute..." alt="" coords="213,29,417,69"/>
<area shape="poly" title=" " alt="" coords="128,115,212,79,233,71,235,76,214,84,130,120"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#acea317a83af55525aa4453f33839db3a" title="Delete all static routes on all nodes that have a DGRRouterInterface." alt="" coords="227,117,404,157"/>
<area shape="poly" title=" " alt="" coords="166,135,213,135,213,140,166,140"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#ad637a566676faf22176f66f1afdb8c3c" title="Compute routes using a Dijkstra SPF computation and populate per&#45;node forwarding tables." alt="" coords="227,205,404,245"/>
<area shape="poly" title=" " alt="" coords="140,155,251,198,249,203,138,160"/>
<area shape="poly" title=" " alt="" coords="272,30,270,20,277,10,292,5,315,3,342,6,357,13,354,18,341,11,315,8,293,10,280,15,275,21,278,28"/>
<area shape="poly" title=" " alt="" coords="272,118,270,108,277,98,292,93,315,91,342,94,357,101,354,106,341,99,315,96,293,98,280,103,275,109,278,116"/>
<area shape="poly" title=" " alt="" coords="272,206,270,196,277,186,292,181,315,179,342,182,357,189,354,194,341,187,315,184,293,186,280,191,275,197,278,204"/>
</map>
</div>

</div>
</div>
<a id="a45022db22ac734cfdde51a3a8bc0ecf1" name="a45022db22ac734cfdde51a3a8bc0ecf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45022db22ac734cfdde51a3a8bc0ecf1">&#9670;&#160;</a></span>NotifyRemoveAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::NotifyRemoveAddress </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>interface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ipv4InterfaceAddress&#160;</td>
          <td class="paramname"><em>address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01267">1267</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00046">ns3::DGRRouteManager::BuildDGRRoutingDatabase()</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00038">ns3::DGRRouteManager::DeleteDGRRoutes()</a>, <a class="el" href="../../db/db2/dgr-route-manager_8cc_source.html#l00054">ns3::DGRRouteManager::InitializeRoutes()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00286">m_respondToInterfaceEvents</a>.</p>
<div id="dynsection-22" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-22-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-22-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-22-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a45022db22ac734cfdde51a3a8bc0ecf1_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a45022db22ac734cfdde51a3a8bc0ecf1_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a45022db22ac734cfdde51a3a8bc0ecf1_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a45022db22ac734cfdde51a3a8bc0ecf1_cgraph">
<area shape="rect" title=" " alt="" coords="5,117,180,157"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#a62b76ca8cab68a61efd72c5fe5d092dc" title="Build the routing database by gathering Link State Advertisements from each node exporting a DGRRoute..." alt="" coords="228,29,432,69"/>
<area shape="poly" title=" " alt="" coords="138,115,227,79,248,71,250,76,229,84,140,120"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#acea317a83af55525aa4453f33839db3a" title="Delete all static routes on all nodes that have a DGRRouterInterface." alt="" coords="241,117,419,157"/>
<area shape="poly" title=" " alt="" coords="180,135,227,135,227,140,180,140"/>
<area shape="rect" href="../../d1/da9/classns3_1_1_d_g_r_route_manager.html#ad637a566676faf22176f66f1afdb8c3c" title="Compute routes using a Dijkstra SPF computation and populate per&#45;node forwarding tables." alt="" coords="241,205,419,245"/>
<area shape="poly" title=" " alt="" coords="149,155,263,198,261,203,147,160"/>
<area shape="poly" title=" " alt="" coords="286,30,283,20,290,10,306,5,330,3,358,6,373,13,370,18,356,11,330,8,307,10,293,15,288,21,291,28"/>
<area shape="poly" title=" " alt="" coords="286,118,283,108,290,98,306,93,330,91,358,94,373,101,370,106,356,99,330,96,307,98,293,103,288,109,291,116"/>
<area shape="poly" title=" " alt="" coords="286,206,283,196,290,186,306,181,330,179,358,182,373,189,370,194,356,187,330,184,307,186,293,191,288,197,291,204"/>
</map>
</div>

</div>
</div>
<a id="a0670297c54c9f0715d5d90a0cafc529d" name="a0670297c54c9f0715d5d90a0cafc529d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0670297c54c9f0715d5d90a0cafc529d">&#9670;&#160;</a></span>PrintRoutingTable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::PrintRoutingTable </td>
          <td>(</td>
          <td class="paramtype">Ptr&lt; OutputStreamWrapper &gt;&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Time::Unit&#160;</td>
          <td class="paramname"><em>unit</em> = <code>Time::S</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00970">970</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00134">ns3::Ipv4DGRRoutingTableEntry::GetDest()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00205">ns3::Ipv4DGRRoutingTableEntry::GetDistance()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00184">ns3::Ipv4DGRRoutingTableEntry::GetGateway()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00191">ns3::Ipv4DGRRoutingTableEntry::GetInterface()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00198">ns3::Ipv4DGRRoutingTableEntry::GetNextInterface()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00727">GetNRoutes()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00738">GetRoute()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00171">ns3::Ipv4DGRRoutingTableEntry::IsGateway()</a>, <a class="el" href="../../dc/d27/ipv4-dgr-routing-table-entry_8cc_source.html#l00121">ns3::Ipv4DGRRoutingTableEntry::IsHost()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>.</p>
<div id="dynsection-23" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-23-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-23-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-23-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a0670297c54c9f0715d5d90a0cafc529d_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a0670297c54c9f0715d5d90a0cafc529d_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a0670297c54c9f0715d5d90a0cafc529d_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a0670297c54c9f0715d5d90a0cafc529d_cgraph">
<area shape="rect" title=" " alt="" coords="5,261,165,301"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a69ebd01d00df5465ad4d720baf20aac5" title=" " alt="" coords="213,5,408,45"/>
<area shape="poly" title=" " alt="" coords="90,260,105,217,130,162,165,105,187,79,212,55,218,50,221,55,215,59,191,82,170,108,135,165,110,219,95,262"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ad6b6cd8c1a98ab084553075f284de1b4" title=" " alt="" coords="213,69,408,109"/>
<area shape="poly" title=" " alt="" coords="95,260,140,191,173,153,212,119,221,113,224,118,215,123,177,156,144,194,100,262"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a19708a359b875e0b8986ff99f80c159c" title=" " alt="" coords="213,133,408,173"/>
<area shape="poly" title=" " alt="" coords="107,259,153,221,212,183,226,176,229,181,215,188,157,225,110,263"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a2b9549ad4a8d225b40c3f7dcd2c29c25" title=" " alt="" coords="213,197,408,237"/>
<area shape="poly" title=" " alt="" coords="156,259,226,239,227,244,157,264"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a327e4e2e11fd01986fc128e9ee8e90bc" title=" " alt="" coords="213,261,408,301"/>
<area shape="poly" title=" " alt="" coords="166,279,200,279,200,284,166,284"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a3558caabfea9b5e9f27ccea4bb2b6603" title="Get the number of individual unicast routes that have been added to the routing table." alt="" coords="231,325,391,365"/>
<area shape="poly" title=" " alt="" coords="157,299,227,319,226,324,156,304"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#ac186d277e77bbdfb2bc216691eefbbab" title="Get a route from the global unicast routing table." alt="" coords="231,389,391,429"/>
<area shape="poly" title=" " alt="" coords="110,299,157,337,215,375,229,382,226,387,212,380,153,342,107,304"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ace7333037444806516277fc945e43c69" title=" " alt="" coords="213,453,408,493"/>
<area shape="poly" title=" " alt="" coords="100,300,144,368,177,406,215,439,224,445,221,449,212,443,173,410,140,372,95,303"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#aae4aa136bdffbf9f64f756fec615ecbb" title=" " alt="" coords="213,517,408,557"/>
<area shape="poly" title=" " alt="" coords="95,301,110,343,135,398,170,454,191,480,215,503,221,508,218,512,212,507,187,484,165,458,130,400,105,345,90,303"/>
</map>
</div>

</div>
</div>
<a id="a2eb8a683180ce3d3726767f5b986e3d8" name="a2eb8a683180ce3d3726767f5b986e3d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2eb8a683180ce3d3726767f5b986e3d8">&#9670;&#160;</a></span>Receive()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::Receive </td>
          <td>(</td>
          <td class="paramtype">Ptr&lt; Socket &gt;&#160;</td>
          <td class="paramname"><em>socket</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Receive an DGR message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">socket</td><td>the socket the packet was received from. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01287">1287</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d8/d9d/dgr-header_8cc_source.html#l00208">ns3::DgrHeader::GetCommand()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01432">HandleResponses()</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00329">m_multicastRecvSocket</a>, and <a class="el" href="../../de/dc1/dgr-header_8h_source.html#l00139">ns3::DgrHeader::RESPONSE</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>.</p>
<div id="dynsection-24" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-24-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-24-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-24-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_cgraph">
<area shape="rect" title="Receive an DGR message." alt="" coords="5,173,165,213"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a75a9665a3108d89e19891e73b0f51251" title="Get the command." alt="" coords="213,151,435,177"/>
<area shape="poly" title=" " alt="" coords="166,181,207,176,208,181,166,186"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aa29a1573985386ddcc0c9616ab524836" title="Handle DGR responses." alt="" coords="244,201,404,241"/>
<area shape="poly" title=" " alt="" coords="166,200,230,208,230,213,166,205"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a165815e13c7cda840f5e77961f412b8d" title=" " alt="" coords="505,5,705,45"/>
<area shape="poly" title=" " alt="" coords="403,205,433,186,445,171,452,155,456,122,460,89,467,72,481,55,492,47,495,51,485,59,472,75,465,90,461,123,457,156,450,173,436,190,406,209"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ad28f3042c3a7579cf82d7debfab3ff94" title="Get the list of NSEs included in the message." alt="" coords="504,70,707,95"/>
<area shape="poly" title=" " alt="" coords="403,203,433,186,449,166,456,146,463,125,481,105,490,99,493,103,484,109,468,127,461,148,454,169,436,190,405,207"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a2fcef3eb0f76c33b6d7c151dc4b939e3" title="Get the serialized size of the packet." alt="" coords="483,119,728,145"/>
<area shape="poly" title=" " alt="" coords="400,199,433,186,457,170,482,155,508,146,510,151,484,160,460,175,436,190,402,204"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#a247a7c414ca757992904f162888375d9" title=" " alt="" coords="512,169,699,209"/>
<area shape="poly" title=" " alt="" coords="404,210,498,199,499,204,404,215"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#afab689a2b1bf8ec2af909d5d05ab26a6" title="Handle the NeighborStatusEntry of a Interface." alt="" coords="492,233,719,273"/>
<area shape="poly" title=" " alt="" coords="404,228,478,236,478,242,404,233"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#a0eabfc389423b0b694d6f30cb1b773f5" title="Insert an &lt;interface, Neighbor Status Entry&gt; into the NSDB." alt="" coords="526,298,685,323"/>
<area shape="poly" title=" " alt="" coords="370,239,424,262,483,283,520,292,518,298,482,288,422,267,368,244"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#ad12f02c2d3a0eb4ec1f838adbc93961e" title=" " alt="" coords="512,348,699,388"/>
<area shape="poly" title=" " alt="" coords="349,239,408,286,445,311,484,332,505,341,502,346,482,337,442,315,405,290,346,244"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a6e3953db49c443f23281dec449661d39" title=" " alt="" coords="517,413,693,438"/>
<area shape="poly" title=" " alt="" coords="339,240,362,275,395,318,436,362,484,398,505,408,503,413,481,402,432,366,391,322,358,278,335,243"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2b24a215ee38cb8ec0e5a8c6f5247e01" title="Get the serialized size of the packet." alt="" coords="776,119,999,145"/>
<area shape="poly" title=" " alt="" coords="728,129,762,129,762,135,728,135"/>
</map>
</div>
<div id="dynsection-25" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-25-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-25-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-25-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a2eb8a683180ce3d3726767f5b986e3d8_icgraph">
<area shape="rect" title="Receive an DGR message." alt="" coords="213,5,373,45"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0bb01e6d6468d3c42a989434c193b372" title="Start protocol operation." alt="" coords="5,5,165,45"/>
<area shape="poly" title=" " alt="" coords="200,28,166,28,166,23,200,23"/>
</map>
</div>

</div>
</div>
<a id="a55aea61c57e39ba4756d22d4e646cd3e" name="a55aea61c57e39ba4756d22d4e646cd3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55aea61c57e39ba4756d22d4e646cd3e">&#9670;&#160;</a></span>RemoveRoute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::RemoveRoute </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a route from the global unicast routing table. </p>
<p>Externally, the unicast global routing table appears simply as a table with n entries. The one subtlety of note is that if a default route has been set it will appear as the zeroth entry in the table. This means that if the default route has been set, calling RemoveRoute (0) will remove the default route.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">i</td><td>The index (into the routing table) of the route to remove. If the default route has been set, it will occupy index zero.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>Ipv4RoutingTableEntry </dd>
<dd>
Ipv4GlobalRouting::GetRoute </dd>
<dd>
Ipv4GlobalRouting::AddRoute </dd></dl>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00787">787</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d3/d89/dgr-sink_8cc_source.html#l00169">ns3::i</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00313">m_ASexternalRoutes</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">m_hostRoutes</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">m_networkRoutes</a>.</p>

</div>
</div>
<a id="a7e7c34d7e0a922980bf3fdf62f9bbe1b" name="a7e7c34d7e0a922980bf3fdf62f9bbe1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e7c34d7e0a922980bf3fdf62f9bbe1b">&#9670;&#160;</a></span>RouteInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ns3::Ipv4DGRRouting::RouteInput </td>
          <td>(</td>
          <td class="paramtype">Ptr&lt; const Packet &gt;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Ipv4Header &amp;&#160;</td>
          <td class="paramname"><em>header</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ptr&lt; const NetDevice &gt;&#160;</td>
          <td class="paramname"><em>idev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UnicastForwardCallback&#160;</td>
          <td class="paramname"><em>ucb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">MulticastForwardCallback&#160;</td>
          <td class="paramname"><em>mcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LocalDeliverCallback&#160;</td>
          <td class="paramname"><em>lcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ErrorCallback&#160;</td>
          <td class="paramname"><em>ecb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01160">1160</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">LookupDGRRoute()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00189">LookupUniRoute()</a>, and <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>.</p>
<div id="dynsection-26" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-26-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-26-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-26-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a7e7c34d7e0a922980bf3fdf62f9bbe1b_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a7e7c34d7e0a922980bf3fdf62f9bbe1b_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a7e7c34d7e0a922980bf3fdf62f9bbe1b_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a7e7c34d7e0a922980bf3fdf62f9bbe1b_cgraph">
<area shape="rect" title=" " alt="" coords="5,195,165,235"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a552819000c07190404d6bd5db6d1ce84" title=" " alt="" coords="213,255,373,295"/>
<area shape="poly" title=" " alt="" coords="156,232,211,248,210,253,155,237"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a95ddcbfcdb50ecdb48bfd91575836fe6" title="Lookup in the forwarding table for destination." alt="" coords="213,101,373,141"/>
<area shape="poly" title=" " alt="" coords="130,192,234,145,237,149,132,197"/>
<area shape="rect" href="../../d0/db3/classns3_1_1_budget_tag.html#ac6b06a85217e94b7b12bb66a000d500b" title="Get the tag&#39;s budget." alt="" coords="423,311,622,337"/>
<area shape="poly" title=" " alt="" coords="375,289,450,306,449,311,373,295"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a165815e13c7cda840f5e77961f412b8d" title=" " alt="" coords="423,361,623,401"/>
<area shape="poly" title=" " alt="" coords="326,292,371,320,422,347,440,354,438,359,420,352,368,325,323,297"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a69ebd01d00df5465ad4d720baf20aac5" title=" " alt="" coords="425,5,620,45"/>
<area shape="poly" title=" " alt="" coords="306,253,371,152,383,124,390,101,400,78,420,55,426,50,429,55,423,59,404,81,395,102,388,126,376,155,311,256"/>
<area shape="rect" href="../../d1/def/classns3_1_1_dist_tag.html#abdba4f115af1156fa9971edb1f9dfa13" title="Get the tag&#39;s distance." alt="" coords="428,426,617,451"/>
<area shape="poly" title=" " alt="" coords="310,293,355,352,387,384,423,411,438,419,435,423,420,416,383,388,351,356,305,297"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ad6b6cd8c1a98ab084553075f284de1b4" title=" " alt="" coords="425,476,620,516"/>
<area shape="poly" title=" " alt="" coords="305,294,322,330,348,375,381,422,423,462,431,467,428,472,420,466,377,425,343,378,317,333,300,296"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a19708a359b875e0b8986ff99f80c159c" title=" " alt="" coords="425,69,620,109"/>
<area shape="poly" title=" " alt="" coords="304,253,349,188,382,151,420,119,430,113,433,118,423,124,385,155,353,191,308,256"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a2b9549ad4a8d225b40c3f7dcd2c29c25" title=" " alt="" coords="425,133,620,173"/>
<area shape="poly" title=" " alt="" coords="317,252,363,217,420,183,436,176,438,181,423,188,366,222,320,257"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#a0d9ea8c82a764230832d72825bce2fce" title="Get the NeighborStatusEntry of a Interface." alt="" coords="421,540,624,580"/>
<area shape="poly" title=" " alt="" coords="302,294,315,341,339,404,374,469,397,500,423,526,429,531,426,535,420,530,393,503,370,472,334,406,310,343,296,295"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#a247a7c414ca757992904f162888375d9" title=" " alt="" coords="429,197,616,237"/>
<area shape="poly" title=" " alt="" coords="373,252,428,238,430,243,375,257"/>
<area shape="rect" href="../../d1/def/classns3_1_1_dist_tag.html#afc8616b9abd64dd7a0ebf3d876f1dcb2" title="Set the tag&#39;s distance." alt="" coords="429,262,616,287"/>
<area shape="poly" title=" " alt="" coords="374,272,416,272,416,277,374,277"/>
<area shape="poly" title=" " alt="" coords="329,99,420,55,440,47,442,52,422,60,332,104"/>
<area shape="poly" title=" " alt="" coords="374,108,411,102,412,107,374,113"/>
<area shape="poly" title=" " alt="" coords="374,130,412,135,411,140,374,135"/>
</map>
</div>

</div>
</div>
<a id="aa949f02ca52008f8201ee9915fdd0191" name="aa949f02ca52008f8201ee9915fdd0191"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa949f02ca52008f8201ee9915fdd0191">&#9670;&#160;</a></span>RouteOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt; Ipv4Route &gt; ns3::Ipv4DGRRouting::RouteOutput </td>
          <td>(</td>
          <td class="paramtype">Ptr&lt; Packet &gt;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Ipv4Header &amp;&#160;</td>
          <td class="paramname"><em>header</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Ptr&lt; NetDevice &gt;&#160;</td>
          <td class="paramname"><em>oif</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Socket::SocketErrno &amp;&#160;</td>
          <td class="paramname"><em>sockerr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01040">1040</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">LookupDGRRoute()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00189">LookupUniRoute()</a>.</p>
<div id="dynsection-27" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-27-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-27-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-27-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_aa949f02ca52008f8201ee9915fdd0191_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa949f02ca52008f8201ee9915fdd0191_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa949f02ca52008f8201ee9915fdd0191_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_aa949f02ca52008f8201ee9915fdd0191_cgraph">
<area shape="rect" title=" " alt="" coords="5,195,165,235"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a552819000c07190404d6bd5db6d1ce84" title=" " alt="" coords="213,255,373,295"/>
<area shape="poly" title=" " alt="" coords="156,232,211,248,210,253,155,237"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a95ddcbfcdb50ecdb48bfd91575836fe6" title="Lookup in the forwarding table for destination." alt="" coords="213,101,373,141"/>
<area shape="poly" title=" " alt="" coords="130,192,234,145,237,149,132,197"/>
<area shape="rect" href="../../d0/db3/classns3_1_1_budget_tag.html#ac6b06a85217e94b7b12bb66a000d500b" title="Get the tag&#39;s budget." alt="" coords="423,311,622,337"/>
<area shape="poly" title=" " alt="" coords="375,289,450,306,449,311,373,295"/>
<area shape="rect" href="../../d4/dba/classns3_1_1_status_unit.html#a165815e13c7cda840f5e77961f412b8d" title=" " alt="" coords="423,361,623,401"/>
<area shape="poly" title=" " alt="" coords="326,292,371,320,422,347,440,354,438,359,420,352,368,325,323,297"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a69ebd01d00df5465ad4d720baf20aac5" title=" " alt="" coords="425,5,620,45"/>
<area shape="poly" title=" " alt="" coords="306,253,371,152,383,124,390,101,400,78,420,55,426,50,429,55,423,59,404,81,395,102,388,126,376,155,311,256"/>
<area shape="rect" href="../../d1/def/classns3_1_1_dist_tag.html#abdba4f115af1156fa9971edb1f9dfa13" title="Get the tag&#39;s distance." alt="" coords="428,426,617,451"/>
<area shape="poly" title=" " alt="" coords="310,293,355,352,387,384,423,411,438,419,435,423,420,416,383,388,351,356,305,297"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#ad6b6cd8c1a98ab084553075f284de1b4" title=" " alt="" coords="425,476,620,516"/>
<area shape="poly" title=" " alt="" coords="305,294,322,330,348,375,381,422,423,462,431,467,428,472,420,466,377,425,343,378,317,333,300,296"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a19708a359b875e0b8986ff99f80c159c" title=" " alt="" coords="425,69,620,109"/>
<area shape="poly" title=" " alt="" coords="304,253,349,188,382,151,420,119,430,113,433,118,423,124,385,155,353,191,308,256"/>
<area shape="rect" href="../../dd/d84/classns3_1_1_ipv4_d_g_r_routing_table_entry.html#a2b9549ad4a8d225b40c3f7dcd2c29c25" title=" " alt="" coords="425,133,620,173"/>
<area shape="poly" title=" " alt="" coords="317,252,363,217,420,183,436,176,438,181,423,188,366,222,320,257"/>
<area shape="rect" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html#a0d9ea8c82a764230832d72825bce2fce" title="Get the NeighborStatusEntry of a Interface." alt="" coords="421,540,624,580"/>
<area shape="poly" title=" " alt="" coords="302,294,315,341,339,404,374,469,397,500,423,526,429,531,426,535,420,530,393,503,370,472,334,406,310,343,296,295"/>
<area shape="rect" href="../../dc/d3f/classns3_1_1_neighbor_status_entry.html#a247a7c414ca757992904f162888375d9" title=" " alt="" coords="429,197,616,237"/>
<area shape="poly" title=" " alt="" coords="373,252,428,238,430,243,375,257"/>
<area shape="rect" href="../../d1/def/classns3_1_1_dist_tag.html#afc8616b9abd64dd7a0ebf3d876f1dcb2" title="Set the tag&#39;s distance." alt="" coords="429,262,616,287"/>
<area shape="poly" title=" " alt="" coords="374,272,416,272,416,277,374,277"/>
<area shape="poly" title=" " alt="" coords="329,99,420,55,440,47,442,52,422,60,332,104"/>
<area shape="poly" title=" " alt="" coords="374,108,411,102,412,107,374,113"/>
<area shape="poly" title=" " alt="" coords="374,130,412,135,411,140,374,135"/>
</map>
</div>

</div>
</div>
<a id="a0c6b4896c7a02fc5b54a1d945f983f66" name="a0c6b4896c7a02fc5b54a1d945f983f66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c6b4896c7a02fc5b54a1d945f983f66">&#9670;&#160;</a></span>SendTriggeredNeighborStatusUpdate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::SendTriggeredNeighborStatusUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Send Triggered Routing Updates on all interfaces. </p>

</div>
</div>
<a id="a238052760f17cb9a493e98ef38b6de8f" name="a238052760f17cb9a493e98ef38b6de8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a238052760f17cb9a493e98ef38b6de8f">&#9670;&#160;</a></span>SendUnsolicitedUpdate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::SendUnsolicitedUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Send Unsolicited neighbor status information Updates on all interfaces. </p>

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">1356</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01370">DoSendNeighborStatusUpdate()</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00332">m_nextTriggeredUpdate</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00331">m_nextUnsolicitedUpdate</a>, <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00334">m_unsolicitedUpdate</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>
<div id="dynsection-28" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-28-trigger" src="../../closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-28-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-28-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_cgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_cgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_cgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_cgraph">
<area shape="rect" title="Send Unsolicited neighbor status information Updates on all interfaces." alt="" coords="5,173,188,213"/>
<area shape="poly" title=" " alt="" coords="50,173,47,163,55,154,71,148,97,146,126,149,142,156,139,161,124,154,97,151,72,153,58,158,52,164,55,172"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#aff694e326df155e5a99a85d805b7d172" title="Sending Neighbor Status Updates on all interfaces." alt="" coords="236,173,463,213"/>
<area shape="poly" title=" " alt="" coords="188,190,222,190,222,195,188,195"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a6004075aa81cee64dbf96c03e548f41e" title="Add a DGR Neighbor Status Entry (NSE) to the message." alt="" coords="543,5,724,31"/>
<area shape="poly" title=" " alt="" coords="364,171,422,105,463,69,509,40,529,31,531,36,512,44,467,74,426,109,368,174"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a930203fc0319f7d6f2119079096168dc" title="Clear all the NSEs from the header." alt="" coords="535,55,732,80"/>
<area shape="poly" title=" " alt="" coords="374,170,434,129,471,107,510,89,533,81,534,86,512,94,473,112,437,133,377,175"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ae7b3e6830add872de26fc78b1af52372" title="Get the number of NSEs includes in the message." alt="" coords="518,104,749,129"/>
<area shape="poly" title=" " alt="" coords="422,170,510,146,569,130,570,136,511,151,424,175"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2b24a215ee38cb8ec0e5a8c6f5247e01" title="Get the serialized size of the packet." alt="" coords="804,180,1027,205"/>
<area shape="poly" title=" " alt="" coords="463,190,790,190,790,195,463,195"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#a2fcef3eb0f76c33b6d7c151dc4b939e3" title="Get the serialized size of the packet." alt="" coords="511,205,756,231"/>
<area shape="poly" title=" " alt="" coords="463,200,497,203,497,209,463,205"/>
<area shape="rect" href="../../d1/de8/classns3_1_1_dgr_header.html#ae6c91c53e2bf12faf7f315e55a103412" title="Set the command." alt="" coords="524,255,743,280"/>
<area shape="poly" title=" " alt="" coords="412,210,511,239,553,249,552,254,510,245,410,215"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#a2e993c84f83ec1bddf787351c5c41401" title="Set the interface." alt="" coords="539,304,727,329"/>
<area shape="poly" title=" " alt="" coords="378,211,438,251,512,289,539,298,537,303,510,294,435,255,375,215"/>
<area shape="rect" href="../../de/d1d/classns3_1_1_dgr_nse.html#afed23298399afb86ba0bdf1f6ea19b7d" title=" " alt="" coords="551,353,715,379"/>
<area shape="poly" title=" " alt="" coords="368,211,427,275,467,310,512,338,539,349,537,354,509,343,464,314,423,279,364,215"/>
<area shape="poly" title=" " alt="" coords="756,204,790,201,790,207,757,210"/>
</map>
</div>
<div id="dynsection-29" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-29-trigger" src="../../closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-29-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-29-content" class="dyncontent" style="display:none;">
<div class="center"><img src="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_icgraph.png" border="0" usemap="#ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_icgraph" alt=""/></div>
<map name="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_icgraph" id="ad3/d71/classns3_1_1_ipv4_d_g_r_routing_a238052760f17cb9a493e98ef38b6de8f_icgraph">
<area shape="rect" title="Send Unsolicited neighbor status information Updates on all interfaces." alt="" coords="213,29,396,69"/>
<area shape="poly" title=" " alt="" coords="342,18,329,11,305,8,284,10,271,15,266,21,269,28,264,30,261,20,268,10,282,5,305,3,330,6,344,13"/>
<area shape="rect" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0bb01e6d6468d3c42a989434c193b372" title="Start protocol operation." alt="" coords="5,29,165,69"/>
<area shape="poly" title=" " alt="" coords="200,52,165,52,165,47,200,47"/>
</map>
</div>

</div>
</div>
<a id="a207e729e59e0539db18dd241276bf02e" name="a207e729e59e0539db18dd241276bf02e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a207e729e59e0539db18dd241276bf02e">&#9670;&#160;</a></span>SetIpv4()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ns3::Ipv4DGRRouting::SetIpv4 </td>
          <td>(</td>
          <td class="paramtype">Ptr&lt; Ipv4 &gt;&#160;</td>
          <td class="paramname"><em>ipv4</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01279">1279</a> of file <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a>.</p>

<p class="reference">References <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">m_ipv4</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a3a1304dc7321af8536c44840257b8f50" name="a3a1304dc7321af8536c44840257b8f50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a1304dc7321af8536c44840257b8f50">&#9670;&#160;</a></span>m_ASexternalRoutes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6927e0c49f53e92eb4b2acaf5cfebf31">ASExternalRoutes</a> ns3::Ipv4DGRRouting::m_ASexternalRoutes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>External routes imported. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00313">313</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00173">AddASExternalRouteTo()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00852">DoDispose()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00727">GetNRoutes()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00738">GetRoute()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00787">RemoveRoute()</a>.</p>

</div>
</div>
<a id="a93f4dd2543d12d9466bbd7b6131e0580" name="a93f4dd2543d12d9466bbd7b6131e0580"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f4dd2543d12d9466bbd7b6131e0580">&#9670;&#160;</a></span>m_hostRoutes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a0280dbec23318b36b8c8b5a7c10510d4">HostRoutes</a> ns3::Ipv4DGRRouting::m_hostRoutes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Routes to hosts. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00311">311</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00099">AddHostRouteTo()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00130">AddHostRouteTo()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00110">AddHostRouteTo()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00852">DoDispose()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00727">GetNRoutes()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00738">GetRoute()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">LookupDGRRoute()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00189">LookupUniRoute()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00787">RemoveRoute()</a>.</p>

</div>
</div>
<a id="a04c3b50d4a0ccec4f1422d0af4410b8f" name="a04c3b50d4a0ccec4f1422d0af4410b8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04c3b50d4a0ccec4f1422d0af4410b8f">&#9670;&#160;</a></span>m_initialized</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ns3::Ipv4DGRRouting::m_initialized</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>flag to allow socket's late-creation. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00404">404</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>.</p>

</div>
</div>
<a id="a8656e82eb3ad70826fc72f14d85bfab6" name="a8656e82eb3ad70826fc72f14d85bfab6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8656e82eb3ad70826fc72f14d85bfab6">&#9670;&#160;</a></span>m_interfaceExclusions</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::set&lt;uint32_t&gt; ns3::Ipv4DGRRouting::m_interfaceExclusions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set of excluded interfaces. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00343">343</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01370">DoSendNeighborStatusUpdate()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01432">HandleResponses()</a>.</p>

</div>
</div>
<a id="a3b78bce24115ecebf085e0c7c1f43583" name="a3b78bce24115ecebf085e0c7c1f43583"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b78bce24115ecebf085e0c7c1f43583">&#9670;&#160;</a></span>m_ipv4</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt;Ipv4&gt; ns3::Ipv4DGRRouting::m_ipv4</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>associated IPv4 instance </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00314">314</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01370">DoSendNeighborStatusUpdate()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">LookupDGRRoute()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00189">LookupUniRoute()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00970">PrintRoutingTable()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01287">Receive()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01160">RouteInput()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01279">SetIpv4()</a>.</p>

</div>
</div>
<a id="a77198894f24e45afcdcd80c63f02a507" name="a77198894f24e45afcdcd80c63f02a507"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77198894f24e45afcdcd80c63f02a507">&#9670;&#160;</a></span>m_multicastRecvSocket</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt;Socket&gt; ns3::Ipv4DGRRouting::m_multicastRecvSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>multicast receive socket </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00329">329</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01287">Receive()</a>.</p>

</div>
</div>
<a id="adf7379affaf0463cb351765b3caf8dae" name="adf7379affaf0463cb351765b3caf8dae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf7379affaf0463cb351765b3caf8dae">&#9670;&#160;</a></span>m_networkRoutes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a7f83eeb24903b910a78b02257e27327f">NetworkRoutes</a> ns3::Ipv4DGRRouting::m_networkRoutes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Routes to networks. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00312">312</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00145">AddNetworkRouteTo()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00160">AddNetworkRouteTo()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00852">DoDispose()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00727">GetNRoutes()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00738">GetRoute()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00787">RemoveRoute()</a>.</p>

</div>
</div>
<a id="aab87511766c1d52fad340cb7e9031ad2" name="aab87511766c1d52fad340cb7e9031ad2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab87511766c1d52fad340cb7e9031ad2">&#9670;&#160;</a></span>m_nextTriggeredUpdate</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EventId ns3::Ipv4DGRRouting::m_nextTriggeredUpdate</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Next Triggered Update event. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00332">332</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>

</div>
</div>
<a id="a3e0c7233d7c81a2ee3890506bd45e4a8" name="a3e0c7233d7c81a2ee3890506bd45e4a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e0c7233d7c81a2ee3890506bd45e4a8">&#9670;&#160;</a></span>m_nextUnsolicitedUpdate</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">EventId ns3::Ipv4DGRRouting::m_nextUnsolicitedUpdate</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Next Unsolicited Update event. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00331">331</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>

</div>
</div>
<a id="a20d3a603d150f5ce97b49bcd1028e7e0" name="a20d3a603d150f5ce97b49bcd1028e7e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20d3a603d150f5ce97b49bcd1028e7e0">&#9670;&#160;</a></span>m_nsdb</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dd/d41/classns3_1_1_dgr_n_s_d_b.html">DgrNSDB</a> ns3::Ipv4DGRRouting::m_nsdb</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>the Neighbor State DataBase (NSDB) of the DGR Rout </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00316">316</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01432">HandleResponses()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">LookupDGRRoute()</a>.</p>

</div>
</div>
<a id="ac1ef824e03b0393dcad185295ef373f6" name="ac1ef824e03b0393dcad185295ef373f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1ef824e03b0393dcad185295ef373f6">&#9670;&#160;</a></span>m_outStream</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt;OutputStreamWrapper&gt; ns3::Ipv4DGRRouting::m_outStream</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= Create&lt;OutputStreamWrapper&gt;</div>
<div class="line">  (<span class="stringliteral">&quot;queueStatusErr.txt&quot;</span>, std::ios::out)</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00401">401</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01432">HandleResponses()</a>.</p>

</div>
</div>
<a id="a92e2368664df1213c26bafd520582032" name="a92e2368664df1213c26bafd520582032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92e2368664df1213c26bafd520582032">&#9670;&#160;</a></span>m_rand</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ptr&lt;UniformRandomVariable&gt; ns3::Ipv4DGRRouting::m_rand</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A uniform random number generator for randomly routing packets among ECMP. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00288">288</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00081">Ipv4DGRRouting()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00844">AssignStreams()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00253">LookupDGRRoute()</a>.</p>

</div>
</div>
<a id="a3df34b3a6127f1b45c0c5406e8080226" name="a3df34b3a6127f1b45c0c5406e8080226"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3df34b3a6127f1b45c0c5406e8080226">&#9670;&#160;</a></span>m_randomEcmpRouting</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ns3::Ipv4DGRRouting::m_randomEcmpRouting</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set to true if packets are randomly routed among ECMP; set to false for using only one route consistently. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00284">284</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00056">GetTypeId()</a>.</p>

</div>
</div>
<a id="a89c21e449a0c76b491a29fb1e1e81eb9" name="a89c21e449a0c76b491a29fb1e1e81eb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89c21e449a0c76b491a29fb1e1e81eb9">&#9670;&#160;</a></span>m_respondToInterfaceEvents</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ns3::Ipv4DGRRouting::m_respondToInterfaceEvents</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set to true if this interface should respond to interface events by globallly recomputing routes. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00286">286</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00056">GetTypeId()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01255">NotifyAddAddress()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01243">NotifyInterfaceDown()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01231">NotifyInterfaceUp()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01267">NotifyRemoveAddress()</a>.</p>

</div>
</div>
<a id="acf002938df9649de6e46caba3212d52a" name="acf002938df9649de6e46caba3212d52a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf002938df9649de6e46caba3212d52a">&#9670;&#160;</a></span>m_unicastSocketList</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html#a6bb30b8faec1a9afebab84881299d323">SocketList</a> ns3::Ipv4DGRRouting::m_unicastSocketList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>list of sockets for unicast messages (socket, interface index) </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00328">328</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01370">DoSendNeighborStatusUpdate()</a>.</p>

</div>
</div>
<a id="aa6cef6ca1b8081689f2c63246b96eacb" name="aa6cef6ca1b8081689f2c63246b96eacb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6cef6ca1b8081689f2c63246b96eacb">&#9670;&#160;</a></span>m_unsolicitedUpdate</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Time ns3::Ipv4DGRRouting::m_unsolicitedUpdate</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Time between two Unsolicited Neighbor State Updates. </p>

<p class="definition">Definition at line <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html#l00334">334</a> of file <a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00879">DoInitialize()</a>, <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l00056">GetTypeId()</a>, and <a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html#l01356">SendUnsolicitedUpdate()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>model/<a class="el" href="../../dd/d5c/ipv4-dgr-routing_8h_source.html">ipv4-dgr-routing.h</a></li>
<li>model/<a class="el" href="../../d2/dc4/ipv4-dgr-routing_8cc_source.html">ipv4-dgr-routing.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="../../d7/d2e/namespacens3.html">ns3</a></li><li class="navelem"><a class="el" href="../../d3/d71/classns3_1_1_ipv4_d_g_r_routing.html">Ipv4DGRRouting</a></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7 </li>
  </ul>
</div>
</body>
</html>
